diff --git a/dist/demo.css b/dist/demo.css
index 351b996..9e50303 100644
--- a/dist/demo.css
+++ b/dist/demo.css
@@ -907,4 +907,241 @@
background: #344563;
border-color: #505F79; }
+.demo04.u-table tr:nth-child(2n) {
+ background: #f7f9fb; }
+
+.demo04.u-table tr.u-table-row-hover, .demo04 .u-table tr:hover {
+ background: #ebecf0; }
+
+.demo22 .opt-btns {
+ margin-bottom: 8px; }
+
+.demo32 .u-table-thead th {
+ padding-top: 0px;
+ padding-bottom: 0px; }
+
+.demo0501 .u-table .u-row-hover .opt-btns button, .demo0501 .u-table .u-row-hover .cancel-btns button {
+ margin: 0; }
+ .demo0501 .u-table .u-row-hover .opt-btns button:first-child, .demo0501 .u-table .u-row-hover .cancel-btns button:first-child {
+ margin-right: 8px; }
+
+.demo0501 .u-table .u-table-row td {
+ padding: 5px 8px; }
+ .demo0501 .u-table .u-table-row td input {
+ font-size: 12px;
+ padding-left: 5px; }
+
+.demo0501 .u-table .u-table-row .u-form-control,
+.demo0501 .u-table .u-table-row .u-select-selection {
+ height: 30px; }
+
+.demo0501 .u-table .editable-cell-text-wrapper {
+ box-sizing: border-box;
+ line-height: 20px;
+ border-radius: 3px; }
+
+.demo0501 .u-table .required {
+ margin-left: 10px;
+ position: relative; }
+ .demo0501 .u-table .required::before {
+ content: " ";
+ border: 1px solid #F44336;
+ width: 0;
+ height: 12px;
+ position: absolute;
+ top: 9px;
+ left: -8px; }
+ .demo0501 .u-table .required span.u-input-group {
+ display: block; }
+
+.demo0501 .u-table .verify-cell {
+ padding-right: 25px !important; }
+
+.demo0501 .u-table .required-icon {
+ position: absolute;
+ top: 2px;
+ color: #F44336;
+ font-size: 20px; }
+
+.demo0501 .u-table .ref-input-wrap {
+ width: 160px !important; }
+
+.u-editable-table-tp .tp-content {
+ color: #F44336; }
+
+.u-editable-table .u-table .u-table-row td {
+ padding: 5px 8px; }
+ .u-editable-table .u-table .u-table-row td input {
+ padding-left: 5px;
+ font-size: 12px; }
+ .u-editable-table .u-table .u-table-row td input.error {
+ border-color: #F44336; }
+
+.u-editable-table .u-table .u-table-row .editable-cell {
+ height: 30px; }
+
+.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {
+ line-height: 19px; }
+
+.u-editable-table .u-table .u-table-row .u-form-control,
+.u-editable-table .u-table .u-table-row .u-select-selection {
+ height: 30px; }
+
+.u-editable-table .u-table .editable-cell-text-wrapper {
+ box-sizing: border-box;
+ line-height: 20px;
+ border-radius: 3px; }
+
+.u-editable-table .u-table .editable-cell-input-wrapper {
+ padding-right: 0; }
+ .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap {
+ width: auto !important;
+ height: 30px; }
+ .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap .u-input-group {
+ display: inline-block; }
+
+.u-editable-table .u-table .verify-cell {
+ padding-right: 25px !important; }
+
+.u-editable-table .u-table .require {
+ position: absolute;
+ top: 2px;
+ color: #F44336;
+ font-size: 20px; }
+
+.u-editable-table-tp .tp-content {
+ color: #F44336; }
+
+.demo0503-m-b.u-modal .u-modal-body {
+ padding: 16px 0;
+ background: #f7f9fb; }
+
+.demo0503-m-b .u-form-group {
+ overflow: hidden; }
+
+.demo0503-m-b .u-form-control {
+ font-size: 12px; }
+
+.demo0503-m-b .editable-cell {
+ display: block;
+ float: left;
+ width: 265px;
+ padding-right: 25px; }
+
+.demo0503-m-b .ref-input-wrap {
+ width: 240px !important; }
+
+.demo0503-m-b .u-label {
+ display: block;
+ float: left;
+ text-align: right;
+ width: 110px;
+ box-sizing: border-box;
+ padding-right: 10px;
+ font-size: 12px;
+ height: 32px;
+ line-height: 32px; }
+ .demo0503-m-b .u-label .mast {
+ padding: 0;
+ color: red; }
+
+.demo0503-m-b .required-icon {
+ position: absolute;
+ top: 2px;
+ color: #F44336;
+ font-size: 20px; }
+
+.u-editable-table-tp {
+ z-index: 9999 !important; }
+ .u-editable-table-tp .tp-content {
+ color: #F44336; }
+
+.ref-core-button .u-button:first-child {
+ margin-right: 8px; }
+
+.demo0505 .toolbar-btns {
+ margin-bottom: 8px; }
+ .demo0505 .toolbar-btns .u-button:first-child {
+ margin-right: 8px; }
+
+.demo0505 .u-table .u-row-select {
+ background-color: #FFF7E7; }
+
+.demo0505 .u-table .u-table-row td {
+ padding: 5px 8px; }
+ .demo0505 .u-table .u-table-row td input {
+ font-size: 12px;
+ padding-left: 5px; }
+
+.demo0505 .u-table .u-table-row .u-form-control,
+.demo0505 .u-table .u-table-row .u-select-selection {
+ height: 30px; }
+
+.demo0505 .u-table .editable-cell-text-wrapper {
+ box-sizing: border-box;
+ line-height: 20px;
+ border-radius: 3px; }
+
+.demo0505 .u-table .required {
+ margin-left: 10px;
+ position: relative; }
+ .demo0505 .u-table .required::before {
+ content: " ";
+ border: 1px solid #F44336;
+ width: 0;
+ height: 12px;
+ position: absolute;
+ top: 9px;
+ left: -8px; }
+ .demo0505 .u-table .required span.u-input-group {
+ display: block; }
+
+.demo0505 .u-table .verify-cell {
+ padding-right: 25px !important; }
+
+.demo0505 .u-table .edited::after {
+ content: " ";
+ position: absolute;
+ z-index: 999;
+ top: 0;
+ left: 0;
+ border-width: 5px;
+ border-style: solid;
+ border-color: #f44336 transparent transparent #f44336; }
+
+.demo0505 .u-table .required-icon {
+ position: absolute;
+ top: 2px;
+ color: #F44336;
+ font-size: 20px; }
+
+.demo0505 .u-table .ref-input-wrap {
+ width: 160px !important; }
+
+.u-editable-table-tp .tp-content {
+ color: #F44336; }
+
+th .drop-menu .uf {
+ font-size: 12px;
+ visibility: hidden;
+ margin-left: 15px; }
+
+th:hover .uf {
+ visibility: visible; }
+
+.expanded-table .expand-icon-con .uf {
+ font-size: 12px; }
+
+
+.demo8 .u-table {
+ margin-bottom: 11px; }
+
+.demo8 .u-pagination {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-align: center;
+ align-items: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+
/*# sourceMappingURL=demo.css.map */
diff --git a/dist/demo.css.map b/dist/demo.css.map
index 8f7f288..e274fb5 100644
--- a/dist/demo.css.map
+++ b/dist/demo.css.map
@@ -1 +1 @@
-{"version":3,"sources":["demo.css","../node_modules/tinper-bee-core/scss/minxin-variables.scss","../node_modules/bee-loading/src/Loading.scss","../node_modules/tinper-bee-core/scss/minxin-themeColors.scss","../src/Table.scss","TableDemo.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACuXjB,eAAe;AAWf,iBAAiB;AAXjB,eAAe;AAWf,iBAAiB;AC5XjB;;IAEI;AAcJ;;IAEI;AACJ;EACE,mBAAkB;EAClB,UAAS;EACT,QAAO;EACP,SAAQ;EACR,gBCfmB;EDgBnB,eDauB;ECZvB,mBAAkB,EACnB;;AAGD;;IAEI;AAEJ;EAGM,mBAAkB;EAClB,oBAAmB;EACnB,YAAW;EAEX,0BAAyB;EAGzB,YDkwCmB;ECjwCnB,aDiwCmB;EChwCnB,SD2wCiB;EC1wCjB,UD2wCkB;EC1wClB,mBD6wCsB;EC5wCtB,kBD4wCsB;EC3wCtB,mCAAkC;EAClC,sBAAqB;EAErB,wCAAuC;EACvC,mBAAkB;EAClB,kBDuvCmB,EC9uCpB;EA9BL;IAuBQ,YDqvCiB,ECpvClB;EAxBP;IA0BQ,eA9DoB;IA+DpB,gBAAe;IACf,WAAU,EACX;;AA7BP;EAiCQ,mBD2vCuB;EC1vCvB,kBD0vCuB;ECzvCvB,YD0uCoB;ECzuCpB,aDyuCoB;ECxuCpB,kBDwuCoB,ECjuCrB;EA5CP;IAuCU,YDsuCkB,ECruCnB;EAxCT;IA0CU,gBAAe,EAChB;;AA3CT;EAgDQ,mBD0uCwB;ECzuCxB,kBDyuCwB;ECxuCxB,YDytCqB;ECxtCrB,aDwtCqB;ECvtCrB,kBDutCqB,EChtCtB;EA3DP;IAsDU,YDqtCmB,ECptCpB;EAvDT;IAyDU,gBAAe,EAChB;;AA1DT;EA+DQ,eDorC8B,ECjrC/B;;AAlEP;EAsEQ,eD8qCqB,EC3qCtB;;AAzEP;EA6EQ,eDwqC2B,ECrqC5B;;AAMP;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,cAAa;EAGb,2CAAsC,EAIvC;EAbD;IAWI,gBAAe,EAChB;;AAGH;EACE;IAEE,iCAAgC,EAAA;EAGlC;IAEE,mCAAkC,EAAA;EAGpC;IAEE,mCAAkC,EAAA,EAAA;;AAItC;EAEI,mBAAkB;EAClB,SD8pCmB;EC7pCnB,UD8pCoB;EC7pCpB,kBDqqC0B;ECpqC1B,mBDqqC2B,ECnnC5B;EAxDH;IAQM,0BAAyB;IACzB,WDkpCiB;ICjpCjB,aDkpCmB;ICjpCnB,mBAAkB;IAClB,YAAW;IAEX,0BAAyB;IACzB,sBAAqB,EACtB;EAhBL;IAkBM,kBD0pC2B;ICzpC3B,mBD0pC4B,ECrpC7B;IAxBL;MAqBQ,WDwoCkB;MCvoClB,aDwoCoB,ECvoCrB;EAvBP;IA0BM,kBD8oC4B;IC7oC5B,mBD8oC4B,ECzoC7B;IAhCL;MA6BQ,WD4nCmB;MC3nCnB,aD4nCoB,EC3nCrB;EA/BP;IAoCQ,2ED6lC8D;IC5lC9D,0BDmmCU,EClmCX;EAtCP;IAoCQ,2ED8lC8D;IC7lC9D,0BDomCU,ECnmCX;EAtCP;IAoCQ,2ED+lC8D;IC9lC9D,0BDqmCU,ECpmCX;EAtCP;IAoCQ,2EDgmC8D;IC/lC9D,0BDsmCU,ECrmCX;EAtCP;IAoCQ,2EDimC8D;IChmC9D,0BDumCU,ECtmCX;EAtCP;IA2CQ,0BDklC8B,ECjlC/B;EA5CP;IAgDQ,0BD8kCqB,EC7kCtB;EAjDP;IAqDQ,0BD0kC2B,ECzkC5B;;AAIP;EAGM,mBAAkB;EAClB,UAAS;EACT,SAAQ;EAER,iCAA+B,EAChC;;AAGL;EACE;IAEE,qBAAoB,EAAA;EAGtB;IAEE,uBAAsB,EAAA;EAGxB;IAEE,qBAAoB,EAAA,EAAA;;AExNxB;EACE,gBApBmB;EAqBnB,eHkBuB;EGhBvB,mBAAkB;EAClB,kBAvBgB;EAwBhB,iBAAgB,EA8tBjB;EA7tBC;IAEE,mBAAkB,EAKnB;IAPA;MAIG,cAAa;MACb,qBAAoB,EACrB;EAEH;IACE,mBAAkB,EAOnB;IANC;MACE,mBAAkB;MAClB,SAAQ;MACR,UAAS,EAEV;EAtBL;IAyBI,YAAW;IACX,0BAAyB;IACzB,iBAAgB,EACjB;EA5BH;IAgCI,kBAlCyB;IAmCzB,iBAAgB;IAEhB,kBAAiB,EAOlB;IA1CH;MAqCM,mBAAkB,EACnB;IAtCL;MAwCM,iBAAgB,EACjB;EAzCL;IA6CI,4CA7D4D;IA8D5D,kBAhEc,EA6Ef;IA3DH;MAgDM,eAAc,EAOf;MAvDL;QAkDQ,eAAc,EACf;MAnDP;QAqDQ,eAAc,EACf;IAtDP;MAyDM,sBACF,EAAC;EA1DL;IA8DM,iCAnEyB,EAoE1B;EA/DL;IA0EU,+BAA8B,EAC/B;EA3ET;IA+EM,eAAc,EAOf;IAtFL;MAiFQ,eAAc,EACf;IAlFP;MAoFQ,eAAc,EACf;EArFP;IAwFM,qBAAa;IAAb,cAAa;IACb,gCAA2B;IAA3B,4BAA2B,EAgB5B;IAzGL;MA2FQ,mBAAkB,EACnB;IA5FP;MA8FQ,aAAY,EAOb;MArGP;QAgGU,WAAU,EACX;MAjGT;QAmGU,WAAU,EACX;IApGT;MAuGQ,UAAS,EACV;EAxGP;IA2GM,mBAAkB;IAClB,oBAAmB,EAYpB;IAxHL;MA8GQ,mBAAkB;MAClB,SAAQ,EAKT;MApHP;QAiHU,eAAc;QACd,oBAAmB,EACpB;IAnHT;MAsHQ,mBAAkB,EACnB;EAvHP;IA6HQ,oBAAmB,EACpB;EA9HP;IAkII,mBAAkB,EACnB;EAnIH;IAqII,+BHwD8D,EGvD/D;EAtIH;;IA0II,kBAtJoB;IAuJpB,sBAAqB,EA0BtB;IArKH;;MA8IQ,gBAAe;MACf,kBAAiB,EAClB;IAhJP;;MAkJQ,WAAU,EACX;IAnJP;;MAsJM,mBAAkB,EACnB;IAvJL;;MAyJM,kBAAiB,EAClB;IA1JL;;MA4JM,gBAAe;MACf,sBAAqB;MACrB,gBAAe;MACf,kBAAiB,EAKlB;MApKL;;QAiKQ,WAAU;QACV,gBAAe,EAChB;EAGJ;IAEG,iBApLkB,EAqLnB;EAEF;IAEG,kBAzLkB,EA0LnB;EA9KL;IAoLQ,4BAA2B;IAC3B,+BAA8B,EAO/B;IA5LP;MAuLU,aAAY,EACb;IAxLT;MA0LU,aAAY,EACb;EAIP;IACE,+BAAuD,EACxD;EAED;IACE,eAAc,EACf;EACA;IAEG,qCAxN0D;IAyN1D,uBAAsB;IACtB,oBAAmB,EAEpB;EANF;IASK,iBAAgB,EACnB;EAVF;IAaK,gBAAgB,EACjB;EAdJ;IAkBG,4CAxO0D;IAyO1D,uBAAsB,EACvB;EApBF;;IAuBG,2CA7O0D;IA8O1D,uBAAsB,EACvB;EAEF;IAGK,iBAAgB,EAIjB;IAPJ;MAKO,cAAa,EACd;EAIP;IACE,iBAAgB;IAChB,+BHmtC2E;IGltC3E,uBHmtC+D,EGltChE;EA/OH;IAkPI,iBA9PoB,EA+PrB;EAED;IACE,iBAAgB;IAChB,mBAAkB,EACnB;EACD;IACE,oBAAmB;IACnB,oBAAmB,EACpB;EAEA;IACC,mBAAkB,EACnB;EAED;IACE,aAAY;IACZ,iBAAgB,EACjB;EAGD;IACE,mBAAkB;IAClB,qBAAoB;IACpB,qBAAoB;IACpB,mBAAkB;IAClB,uBAAsB,EACvB;EAED;IACE,kBA7RoB;IA8RpB,yCAlS4D,EAmS7D;EAED;IACE,mBAAkB,EACnB;EAED;IACE,kBAtSoB;IAuSpB,4CA3S4D,EA+S7D;IANA;MAIG,mBAAkB,EACnB;EAEH;IACE,mBA7SoB,EA8SrB;EAED;IACE,kBAA8B;IAC9B,iBAAgB;IAChB,4CAvT4D;IAwT5D,mBAAkB;IAClB,mBAAkB,EAUnB;IAfA;MAOG,gBAAe;MACf,kBAAiB,EAMlB;MAdF;QAUK,gBAAe;QACf,kBAAiB;QACjB,eAAc,EACf;EAIL;IACE,YAAW,EACZ;EACA;IAIK,iBAAgB,EACjB;EALJ;IAOK,+BAAuD,EAExD;EAEH;IACE,gBAAe;IACf,sBAAqB;IACrB,kBAAiB;IACjB,YAAW;IACX,aAAY;IACZ,mBAAkB;IAClB,kBAAiB;IACjB,0BAAiB;IAAjB,sBAAiB;IAAjB,kBAAiB,EAKlB;IAbA;MAUG,gBAAe;MACf,WAAU,EACX;EAEH;IACE,mBAAkB,EACnB;EACD;IACE,aAAY,EACb;EACA;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAEF;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAGJ;IAEG,oBAAmB,EACpB;EAvWL;IA0WI,oBAAmB,EAQpB;IAlXH;MA4WM,oBAAmB,EACpB;IA7WL;MAgXM,WAAU,EACX;EAEH;IACE,cAAa,EACd;EACD;IAEE,gBAAe;IACf,YAAW;IACX,WAAU,EAWX;IAfA;MAMG,eAAc,EACf;IACD;MACE,oBAAmB;MACnB,YAAW,EAIZ;MANA;QAIG,YAAW,EACZ;EAGL;IACE,kBAAiB,EAIlB;IALA;MAGG,aAAY,EACb;EAEH;IACE,aAAY,EAIb;IALA;MAGG,aAAY,EACb;EAGH;IAEE,mBAAkB;IAClB,OAAM;IACN,iBAAgB;IAChB,WAAU,EAKX;IAVA;MAOG,YAAW;MACX,iBAAgB,EACjB;EAGH;IACE,QAAO;IACP,+CAA8C,EAQ/C;IAPC;MACE,oBAAmB;MACnB,oBAAmB,EACpB;IACD;MACE,iBAAgB,EACjB;EAGH;IACE,SAAQ;IACR,gDAA+C,EAShD;IALC;MACE,mBAAkB;MAClB,qBAAoB,EACrB;EAIH;IACE,iBAAgB,EACjB;EAED;IACE,iBAAgB,EACjB;EAEA;IAEG,oBAAmB,EACpB;EAHF;IAKG,qBAAa;IAAb,cAAa;IACb,sBAAuB;IAAvB,wBAAuB;IACvB,uBAAmB;IAAnB,oBAAmB,EAIpB;IAXF;MASK,gBAAe,EAChB;EAVJ;IAaG,+BHm/ByE;IGl/BzE,uBHm/B6D;IGl/B7D,6BAA2B;IAI3B,0BAAyB;IACzB;;QAEE;IACA,sBAAqB;IACrB,kBAAiB,EAmEpB;IA3FF;MA8BK,eAAc,EACf;IA/BJ;MAiCK,mBAAkB;MAClB,iBAAgB;MAChB,aAAY;MACZ,uBAAsB;MACtB,mBAAkB;MAClB,sBAAqB;MACrB,iBAAgB,EAgBjB;MAvDJ;QAyCO,aAAY;QACZ,iBAAgB;QAChB,eA5eS,EA6eV;MA5CN;;QAgDO,kBAAiB;QACjB,eAAc;QACd,YAAW;QACX,gBAAe,EAChB;IApDN;;;;MA6DK,eAAc,EACf;IA9DJ;;MAkEK,aAAY;MACZ,gBAAe,EAChB;IApEJ;;MAuEK,sBAAqB;MACrB,WAAU;MACV,gBAAe;MACf,iBAAgB;MAGhB,uCAAyC;MACzC,+GAA8G;MAC9G,QAAO;MACP,iBAAgB;MAChB,YAAW;MACX,YAAW,EAGZ;IArFJ;MAwFS,sBAAqB,EACxB;EAzFN;IA6FG,aAAY,EACb;EA9FF;IAgGG,+BHnW4D,EGqW7D;EAlGF;IAwGG,iBAAgB,EACjB;EACD;IACE,mBAAkB,EAmCnB;IAjCC;MACE,aAAY;MACZ,mBAAkB;MAClB,aAAY;MACZ,OAAM;MAIN,YAAW;MAEX,uBAAsB;MACtB,WAAU,EAeX;MA1BA;QAcG,aAAY;QACZ,WAAU;QAEV,eAAc,EACf;MAlBF;QAoBG,oBAAkB,EACnB;MArBF;QAuBG,oBAAkB,EACnB;IAGH;MACE,mBAAkB,EAInB;MALA;QAGG,oBACF,EAAC;EAGJ;IAEG,aAAY,EACb;EAOH;IACE,YAAW;IACX,kBAAiB;IACjB,iBAAgB;IAChB,eAAa,EACd;EACD;IAEE,gBAAe;IACf,mBAAkB,EACnB;EACD;IACE,mBAAkB,EACnB;EACD;IACE,mBAAkB;IAClB,YAAW;IACX,aAAa;IACb,kBAAiB;IACjB,WAAW;IACX,SAAQ;IACR,WAAU;IACV,+BHi1ByE;IGh1BzE,mBAAkB;IAClB,gBAAe,EAKhB;IAfA;MAYG,aAAY;MACZ,eArnBW,EAsnBZ;EAEH;IACE,gBAAe;IACf,gBAAe;IAEf,gBAAe,EAKhB;IATA;MAMG,YAAW,EAEZ;EAEH;IACE,kBAAiB;IACjB,iBAAgB;IAChB,uBAAsB;IACtB,gBAAe;IACf,iBAAgB;IAChB,wBAAuB;IACvB,oBAAmB;IACnB,sBAAqB;IACrB,uBAAsB,EACvB;EACD;IACE,uBAAsB;IACtB,iBAAgB,EACjB;EAGH;IAEE,cAAY;IACZ,qBAAoB,EACrB;EAtpBH;IAypBI,aA/pBiB;IAgqBjB,kBAhqBiB;IAiqBjB,YAAU;IACV,eAAc;IACd,iBAAgB,EASjB;IAtqBH;MA+pBM,kBArqBe;MAsqBf,mBAAkB,EAKnB;MArqBL;QAkqBQ,YAxqBa;QAyqBb,aAzqBa,EA0qBd;EApqBP;IA0qBQ,mBArrBuB,EAsrBxB;EA3qBP;IAkrBU,kBA9rBc,EA+rBf;EAnrBT;IAyrBI,WAAU;IACV,YAAW,EACZ;EA3rBH;IA6rBI,cAAa,EACd;EA9rBH;IAgsBI,+BAA8B;IAC9B,mBAAkB,EACnB;EAlsBH;IAosBI,mBAAkB;IAClB,0BAAyB;IACzB,mBAAkB,EACnB;EAvsBH;IA0sBI,cAAa,EACd;EA3sBH;IA8sBI,cAAa,EACd;EA/sBH;IAktBI,aAAW,EACZ;EAntBH;IAqtBI,aAAY;IACZ,aAAY,EACb;EAvtBH;IA0tBI,gBAAe;IACf,eAAc,EACf;EA5tBH;IA8tBI,2BAAyB,EAC1B;EA/tBH;IAiuBI,sBAAqB;IACrB,kBAAiB,EAClB;;AAGH;EACE,cAAa;EAGb,kBAAiB,EAClB;;AAEC;EAEI,oBAAkB,EACnB;;AAEL;EAEI,0BAAyB,EAC1B;;AAHH;;EAMI,qCAxwB4D,EAywB7D;;AAGH;;EAEE,WAAU;EACV,+DAA8D;EAC9D,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;EACE,kEAAiE;EACjE,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;;EAEE,2BAA0B;EAC1B,8BAA6B,EAC9B;;AAED;EACE,6BAA4B;EAC5B,8BAA6B,EAC9B;;AAED;EACE;IACE,sBAAqB;IACrB,4BAA2B;IAC3B,WAAU;IACV,6BHrvB+C,EAAA;EGuvBjD;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,6BH7vB+C,EAAA;EG+vBjD;IACE,wBAAuB;IACvB,WAAU,EAAA,EAAA;;AAId;EACE;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,sBAAqB;IACrB,6BAA4B;IAC5B,WAAU,EAAA,EAAA;;AAId;EACE,cAAa;EACb,kBAAiB;EACjB,WAAU,EACX;;AACD;EACE,cAAa;EACb,aAAY;EACZ,sBAAsB;EACtB,yBAAyB;EACzB,wBAAuB;EACvB,eAAc;EACd,yBAAyB;EACzB,0BAA0B;EAC1B,UAAS;EACT,mBAAkB;EAClB,WAAU;EACV,SAAQ;EACR,SAAQ,EACT;;AAED;EACE,mBAAkB,EACnB;;AAED;;EAEE,oBAAmB,EACpB;;AACD;EAEI,cAAa,EACd;;AAHH;EAKI,aAAY;EACZ,gBAAe,EAChB;;AAGH;EACE,0BAAyB;EACzB,aAAY,EACb;;AAED;;EAEE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,YAAW;EACX,gBAAe,EAChB;;AAED;EACE,kBAAiB;EACjB,cAAa,EACd;;AAED;EACE,kBAAiB,EAClB;;AAED;EACE,sBAAqB,EACtB;;AAED;;EAEE,eAAc,EACf;;AAED;EACE,mBAAkB,EACnB;;AAED;EACE,oBAAmB,EAuBpB;EAxBD;IAGI,mBAAkB;IAClB,YAAW;IACX,YAAW;IACX,SAAQ;IACR,eAAc;IACd,gBAAe,EAChB;EATH;IAWI,aAAY,EACb;EAZH;IAcI,aAAY;IACZ,oBAAmB;IACnB,sBAAqB;IACrB,oBAAmB,EACpB;EAlBH;IAoBI,SAAQ;IACR,YAAW;IACX,mBAAkB,EACnB;;AAIH;EACE,YAAW;EACX,mBAAkB,EAyDnB;EA3DD;IAKI,oBAAmB,EACpB;EANH;IASI,oBAAmB,EACpB;EAVH;IAaI,cAAa,EACd;EAdH;IAiBI,kBAAiB;IACjB,mBAAkB;IAClB,WAAU;IACV,YAAW;IACX,mBAAkB,EAqCnB;IA1DH;MAwBM,eAAc;MACd,UAAS;MACT,mBAAkB;MAClB,mBAAkB,EAQnB;MAnCL;QA8BQ,WACF,EAAC;MA/BP;QAiCQ,UACF,EAAC;IAlCP;MAuCQ,oBAAmB,EACpB;IAxCP;MA0CQ,kBAAiB,EAClB;IA3CP;MA+CM,gBAAe;MACf,cAAa,EACd;IAjDL;MAoDM,mBAAkB;MAClB,WAAU;MACV,aAAY;MACZ,SAAQ;MACR,UAAS,EACV;;AAIL;EACI,cAAa,EAShB;EAVD;IAIY,kBAn+BoB;IAo+BpB,aAp+BoB;IAq+BpB,yBAAwB;IACxB,gBAAe,EAClB;;AAGT;EAEI,aA5+B4B,EA6+B7B;;AAHH;EAKI,aA/+B4B,EAg/B7B;;AANH;EASM,kBAAiB,EAClB;;AAVL;EAaI,kBAAiB,EAClB;;AAEH;EACE,mBAAkB;EAClB,YAAW;EACX,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB;EACvB,wBAAuB,EACxB;;AAED;EACE,mBAAkB;EAClB,UAAS,EACV;;AAKD;EAGM,oBAAmB,EACpB;;AAJL;EAOI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EAGM,oBAAmB,EACpB;;AAJL;EAQI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAZH;EAcI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EACE,mBAAkB;EAClB,aAAW,EACZ;;AAED;EAGM,kBAAiB;EACjB,0BAAyB,EAC1B;;AALL;EAUM,kBAAiB;EACjB,0BAAyB,EAC1B;;AAZL;EAiBM,cAAa,EACd;;AAIL;EAEI,oBAAmB;EACnB,wCAAuC,EACxC;;AAJH;EAOI,iCAAgC,EACjC;;AAEH;EAGM,uBAAsB;EACtB,aAAY;EACZ,kBAAiB,EAIlB;EATL;IAOQ,gBAAe,EAChB;;ACxlCP;EACE,oBAAmB,EACpB;;AAED;EACE,aAAY,EAMb;EAPD;IAII,YAAW,EACZ;;AAGH;EACE,cAAa;EACb,YAAW;EACX,oBAAmB;EACnB,sBAAqB,EAKtB;EATD;IAMI,oBAAmB;IACnB,sBAAqB,EACtB","file":"demo.css","sourcesContent":["@charset \"UTF-8\";\n/* FormGroup */\n/* Navlayout */\n/* FormGroup */\n/* Navlayout */\n/**\r\n * 加载背景\r\n */\n/**\r\n * 文字\r\n */\n.u-loading-desc {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n font-size: 14px;\n color: #212121;\n text-align: center; }\n\n/**\r\n * default样式 单个圆圈加载\r\n */\n.u-loading.u-loading-rotate > div {\n position: absolute;\n border-radius: 100%;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n width: 40px;\n height: 40px;\n top: 50%;\n left: 50%;\n margin-left: -22px;\n margin-top: -22px;\n background: transparent !important;\n display: inline-block;\n -webkit-animation: rotate 1s 0s linear infinite;\n animation: rotate 1s 0s linear infinite;\n text-align: center;\n line-height: 40px; }\n .u-loading.u-loading-rotate > div > img {\n width: 40px; }\n .u-loading.u-loading-rotate > div > .uf {\n color: #0084ff;\n font-size: 40px;\n padding: 0; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-lg > div {\n margin-left: -35px;\n margin-top: -35px;\n width: 60px;\n height: 60px;\n line-height: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > img {\n width: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > .uf {\n font-size: 60px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-sm > div {\n margin-left: -15px;\n margin-top: -15px;\n width: 25px;\n height: 25px;\n line-height: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > img {\n width: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > .uf {\n font-size: 25px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-primary > div > .uf {\n color: #3f51b5; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-success > div > .uf {\n color: #4caf50; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-warning > div > .uf {\n color: #ff9800; }\n\n.u-loading-backdrop {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1900;\n background-color: rgba(255, 255, 255, 0.4); }\n .u-loading-backdrop.full-screen {\n position: fixed; }\n\n@keyframes rotate {\n 0% {\n -webkit-transform: rotate(0deg) scale(1);\n transform: rotate(0deg) scale(1); }\n 50% {\n -webkit-transform: rotate(180deg) scale(1);\n transform: rotate(180deg) scale(1); }\n 100% {\n -webkit-transform: rotate(360deg) scale(1);\n transform: rotate(360deg) scale(1); } }\n\n.u-loading.u-loading-line {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -30px;\n margin-left: -25px; }\n .u-loading.u-loading-line > div {\n background-color: #C2C3C5;\n width: 6px;\n height: 50px;\n border-radius: 2px;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n display: inline-block; }\n .u-loading.u-loading-line.u-loading-line-lg {\n margin-top: -50px;\n margin-left: -30px; }\n .u-loading.u-loading-line.u-loading-line-lg > div {\n width: 8px;\n height: 90px; }\n .u-loading.u-loading-line.u-loading-line-sm {\n margin-top: -22px;\n margin-left: -20px; }\n .u-loading.u-loading-line.u-loading-line-sm > div {\n width: 4px;\n height: 35px; }\n .u-loading.u-loading-line div:nth-child(1) {\n -webkit-animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #F44336; }\n .u-loading.u-loading-line div:nth-child(2) {\n -webkit-animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #7ED321; }\n .u-loading.u-loading-line div:nth-child(3) {\n -webkit-animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #0084FF; }\n .u-loading.u-loading-line div:nth-child(4) {\n -webkit-animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #FF9800; }\n .u-loading.u-loading-line div:nth-child(5) {\n -webkit-animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #D0021B; }\n .u-loading.u-loading-line.u-loading-line-primary > div {\n background-color: #3f51b5; }\n .u-loading.u-loading-line.u-loading-line-success > div {\n background-color: #4caf50; }\n .u-loading.u-loading-line.u-loading-line-warning > div {\n background-color: #ff9800; }\n\n.u-loading.u-loading-custom > div {\n position: absolute;\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n\n@keyframes line-scale {\n 0% {\n -webkit-transform: scaley(1);\n transform: scaley(1); }\n 50% {\n -webkit-transform: scaley(0.4);\n transform: scaley(0.4); }\n 100% {\n -webkit-transform: scaley(1);\n transform: scaley(1); } }\n\n.u-table {\n font-size: 12px;\n color: #212121;\n position: relative;\n line-height: 1.33;\n overflow: hidden; }\n .u-table-body {\n position: relative; }\n .u-table-body .u-table-row-expand-columns-in-body .expand-icon-con {\n display: none;\n pointer-events: none; }\n .u-table-hiden-drag {\n position: relative; }\n .u-table-hiden-drag-li {\n position: absolute;\n top: 0px;\n left: 0px; }\n .u-table table {\n width: 100%;\n border-collapse: collapse;\n text-align: left; }\n .u-table th {\n font-weight: bold;\n text-align: left;\n line-height: 16px; }\n .u-table th[colspan] {\n text-align: center; }\n .u-table th ::last-child {\n overflow: hidden; }\n .u-table td {\n border-bottom: 1px solid rgb(193, 199, 208);\n line-height: 1.33; }\n .u-table td a {\n color: #2196F3; }\n .u-table td a:hover {\n color: #1565c0; }\n .u-table td a:active {\n color: #1565c0; }\n .u-table td .u-switch-span {\n display: inline-block; }\n .u-table thead tr:last-child {\n border-bottom: 1px solid #C1C7D0; }\n .u-table tr:hover td .uf-eye {\n visibility: visible !important; }\n .u-table tr tr a {\n color: #2196F3; }\n .u-table tr tr a:hover {\n color: #1565c0; }\n .u-table tr tr a:active {\n color: #1565c0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) {\n display: flex;\n flex-direction: row-reverse; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body):nth-last-child(1):last-child {\n border-right: none; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con {\n height: 14px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .uf {\n padding: 0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .u-table-row-expand-icon {\n width: 2px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .u-checkbox {\n margin: 0; }\n .u-table tr td.u-table-inline-icon {\n position: relative;\n padding-right: 24px; }\n .u-table tr td.u-table-inline-icon span.u-table-inline-op-icon {\n position: absolute;\n right: 0; }\n .u-table tr td.u-table-inline-icon span.u-table-inline-op-icon .uf {\n display: block;\n vertical-align: top; }\n .u-table tr td.u-table-inline-icon span.u-table-inline-op-icon-hover {\n visibility: hidden; }\n .u-table tr.u-table-row-hover td.u-table-inline-icon span.u-table-inline-op-icon-hover {\n visibility: visible; }\n .u-table .u-table-inline-op-icon-hidden {\n visibility: hidden; }\n .u-table tr.tr-row-hover {\n background: rgb(235, 236, 240); }\n .u-table th,\n .u-table td {\n padding: 12px 8px;\n word-break: break-all; }\n .u-table th.drag-handle-column .uf,\n .u-table td.drag-handle-column .uf {\n font-size: 12px;\n line-height: 12px; }\n .u-table th.drag-handle-column.u-table-row-has-expandIcon .uf,\n .u-table td.drag-handle-column.u-table-row-has-expandIcon .uf {\n padding: 0; }\n .u-table th.text-center,\n .u-table td.text-center {\n text-align: center; }\n .u-table th.text-right,\n .u-table td.text-right {\n text-align: right; }\n .u-table th .expand-icon-con,\n .u-table td .expand-icon-con {\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n line-height: 12px; }\n .u-table th .expand-icon-con .uf,\n .u-table td .expand-icon-con .uf {\n padding: 0;\n font-size: 12px; }\n .u-table-sm td {\n padding: 8px 8px; }\n .u-table-lg td {\n padding: 16px 8px; }\n .u-table tr.filterable th {\n padding-top: 5px !important;\n padding-bottom: 5px !important; }\n .u-table tr.filterable th .filterContext {\n height: 35px; }\n .u-table tr.filterable th .u-select-selection--single {\n height: 26px; }\n .u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-scroll {\n overflow: auto; }\n .u-table-bordered table {\n border: 1px solid rgb(193, 199, 208);\n box-sizing: border-box;\n table-layout: fixed; }\n .u-table-bordered .u-table-header > table {\n border-bottom: 0; }\n .u-table-bordered .u-table-header ~ .u-table-body table, .u-table-bordered .u-table-header ~ .u-table-body-outer table {\n border-top: 0px; }\n .u-table-bordered th {\n border-bottom: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-bordered th,\n .u-table-bordered td {\n border-right: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-drag-border tr th.th-can-not-drag {\n overflow: hidden; }\n .u-table-drag-border tr th.th-can-not-drag .u-table-thead-th-drag-gap {\n display: none; }\n .u-table-header {\n overflow: hidden;\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33); }\n .u-table.fixed-height td {\n padding: 0px 8px; }\n .u-table-fixed-header .u-table-body {\n background: #fff;\n position: relative; }\n .u-table-fixed-left .u-table-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-header:not(.u-table-hide-header) .u-table-fixed-left .u-table-body-inner {\n padding-right: 0px; }\n .u-table-fixed-header .u-table-body-inner {\n height: 100%;\n overflow: scroll; }\n .u-table-fixed-header .u-table-scroll .u-table-header {\n overflow-x: scroll;\n padding-bottom: 20px;\n margin-bottom: -20px;\n overflow-y: scroll;\n box-sizing: border-box; }\n .u-table-title {\n padding: 12px 8px;\n border-top: 1px solid rgb(193, 199, 208); }\n .u-table-content {\n position: relative; }\n .u-table-footer {\n padding: 12px 8px;\n border-bottom: 1px solid rgb(193, 199, 208); }\n .u-table-footer .u-table-scroll {\n overflow-x: hidden; }\n .u-table-footer .u-table {\n margin: -12px -8px; }\n .u-table-placeholder {\n padding: 12px 8px;\n background: #fff;\n border-bottom: 1px solid rgb(193, 199, 208);\n text-align: center;\n position: relative; }\n .u-table-placeholder .table-nodata {\n font-size: 40px;\n line-height: 44px; }\n .u-table-placeholder .table-nodata + span {\n font-size: 12px;\n line-height: 12px;\n display: block; }\n .u-table-expand-icon-col {\n width: 10px; }\n .u-table-row .u-table tr, .u-table-expanded-row .u-table tr {\n background: #fff; }\n .u-table-row .u-table tr.u-table-row-hover, .u-table-expanded-row .u-table tr.u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-row-expand-icon, .u-table-expanded-row-expand-icon {\n cursor: pointer;\n display: inline-block;\n margin-right: 8px;\n width: 14px;\n height: 14px;\n text-align: center;\n line-height: 14px;\n user-select: none; }\n .u-table-row-expand-icon.uf, .u-table-expanded-row-expand-icon.uf {\n font-size: 12px;\n padding: 0; }\n .u-table-row-spaced, .u-table-expanded-row-spaced {\n visibility: hidden; }\n .u-table-row-spaced:after, .u-table-expanded-row-spaced:after {\n content: \".\"; }\n .u-table-row-expanded:after, .u-table-expanded-row-expanded:after {\n content: \"\\e639\";\n font-family: \"uf\"; }\n .u-table-row-collapsed:after, .u-table-expanded-row-collapsed:after {\n content: \"\\e61c\";\n font-family: \"uf\"; }\n .u-table-row.selected {\n background: #FFF7E7; }\n .u-table tr.u-table-expanded-row {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row:hover {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row .u-table {\n z-index: 1; }\n .u-table-column-hidden {\n display: none; }\n .u-table-prev-columns-page, .u-table-next-columns-page {\n cursor: pointer;\n color: #666;\n z-index: 1; }\n .u-table-prev-columns-page:hover, .u-table-next-columns-page:hover {\n color: #2db7f5; }\n .u-table-prev-columns-page-disabled, .u-table-next-columns-page-disabled {\n cursor: not-allowed;\n color: #999; }\n .u-table-prev-columns-page-disabled:hover, .u-table-next-columns-page-disabled:hover {\n color: #999; }\n .u-table-prev-columns-page {\n margin-right: 8px; }\n .u-table-prev-columns-page:before {\n content: \"<\"; }\n .u-table-next-columns-page {\n float: right; }\n .u-table-next-columns-page:before {\n content: \">\"; }\n .u-table-fixed-left, .u-table-fixed-right {\n position: absolute;\n top: 0;\n overflow: hidden;\n z-index: 1; }\n .u-table-fixed-left table, .u-table-fixed-right table {\n width: auto;\n background: #fff; }\n .u-table-fixed-left {\n left: 0;\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-left-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-left-fixed-header .u-table-fixed-left .u-table-fixed-left-body-inner {\n padding-right: 0; }\n .u-table-fixed-right {\n right: 0;\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-right-expanded-row {\n color: transparent;\n pointer-events: none; }\n .u-table-scroll-position-left .u-table-fixed-left {\n box-shadow: none; }\n .u-table-scroll-position-right .u-table-fixed-right {\n box-shadow: none; }\n .u-table-thead .filter-text, .u-table-thead .filter-dropdown, .u-table-thead .filter-date {\n font-weight: normal; }\n .u-table-thead .filter-wrap {\n display: flex;\n justify-content: center;\n align-items: center; }\n .u-table-thead .filter-wrap .filter-btns {\n min-width: 58px; }\n .u-table-thead th {\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33);\n background-clip: padding-box;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n /*\n Introduced in IE 10. \n */\n -ms-user-select: none;\n user-select: none; }\n .u-table-thead th .required {\n color: #F22C1D; }\n .u-table-thead th .bee-table-column-sorter {\n position: relative;\n margin-left: 4px;\n height: 16px;\n vertical-align: middle;\n text-align: center;\n display: inline-block;\n margin-top: -3px; }\n .u-table-thead th .bee-table-column-sorter i {\n padding: 0px;\n font-weight: 600;\n color: #505F79; }\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-down,\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-up, .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-flat {\n line-height: 16px;\n display: block;\n width: 34px;\n cursor: pointer; }\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-up,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-up {\n color: #108ee9; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n -webkit-filter: none;\n filter: none;\n font-size: 12px; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n display: inline-block;\n padding: 0;\n font-size: 12px;\n font-size: 8px\\9;\n -webkit-transform: scale(0.66667) rotate(0deg);\n -ms-transform: scale(0.66667) rotate(0deg);\n transform: scale(0.66667) rotate(0deg);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n zoom: 1;\n line-height: 4px;\n height: 4px;\n color: #999; }\n .u-table-thead th:hover .bee-table-column-sorter {\n display: inline-block; }\n .u-table-thead .th-drag {\n cursor: move; }\n .u-table-thead .th-drag:hover {\n background: rgb(235, 236, 240); }\n .u-table-thead .th-drag-hover {\n background: #ccc; }\n .u-table-thead-th {\n position: relative; }\n .u-table-thead-th-drag-gap {\n height: 100%;\n position: absolute;\n right: -10px;\n top: 0;\n width: 20px;\n box-sizing: border-box;\n z-index: 1; }\n .u-table-thead-th-drag-gap .online {\n height: 100%;\n width: 4px;\n margin: 0 auto; }\n .u-table-thead-th-drag-gap .online:hover {\n background: #000000; }\n .u-table-thead-th-drag-gap .online-hover {\n background: #000000; }\n .u-table-thead-th-drag-gap:hover {\n cursor: col-resize; }\n .u-table-thead-th-drag-gap:hover .online {\n background: #000000; }\n .u-table-thead-th:last-child-drag-gap {\n border: none; }\n .u-table-filter-column-pop-cont {\n margin: 0px;\n max-height: 300px;\n overflow-y: auto;\n color: #212121; }\n .u-table-filter-column-clear-setting {\n cursor: pointer;\n margin-bottom: 4px; }\n .u-table-filter-column-cont {\n position: relative; }\n .u-table-filter-column-filter-icon {\n position: absolute;\n width: 30px;\n height: 39px;\n line-height: 39px;\n right: 0px;\n top: 1px;\n z-index: 2;\n background: rgb(241, 242, 245);\n text-align: center;\n cursor: pointer; }\n .u-table-filter-column-filter-icon i.uf {\n padding: 0px;\n color: #505F79; }\n .u-table-filter-column-pop-cont-item {\n margin-top: 8px;\n font-size: 12px;\n cursor: pointer; }\n .u-table-filter-column-pop-cont-item .u-checkbox {\n margin: 0px; }\n .u-table-filter-column-pop-cont-item span.drop-menu-title {\n margin-left: -3px;\n max-width: 132px;\n width: auto !important;\n min-width: 56px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle; }\n .u-table-filter-column-pop .u-modal-dialog {\n border: 1px solid #ccc;\n background: #fff; }\n .u-table-row-fixed-columns-in-body {\n display: none;\n pointer-events: none; }\n .u-table .u-checkbox {\n height: 14px;\n line-height: 14px;\n margin: 0px;\n display: block;\n margin-left: 5px; }\n .u-table .u-checkbox .u-checkbox-label {\n line-height: 14px;\n padding-left: 16px; }\n .u-table .u-checkbox .u-checkbox-label:before, .u-table .u-checkbox .u-checkbox-label:after {\n width: 14px;\n height: 14px; }\n .u-table .u-table-scroll tr td:first-child, .u-table .u-table-scroll tr th:first-child, .u-table .u-table-fixed-left tr td:first-child, .u-table .u-table-fixed-left tr th:first-child {\n padding-left: 12px; }\n .u-table.has-fixed-left .u-table-scroll tr td:first-child, .u-table.has-fixed-left .u-table-scroll tr th:first-child {\n padding-left: 8px; }\n .u-table ::-webkit-scrollbar {\n width: 8px;\n height: 8px; }\n .u-table ::-webkit-scrollbar-button {\n display: none; }\n .u-table ::-webkit-scrollbar-thumb {\n background: #d5d5d5 !important;\n border-radius: 5px; }\n .u-table ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #d5d5d5;\n position: absolute; }\n .u-table ::-webkit-scrollbar-track {\n display: none; }\n .u-table ::-webkit-scrollbar-track-piece {\n display: none; }\n .u-table .row-dragg-able {\n cursor: move; }\n .u-table .u-table-drag-hidden-cont {\n width: 100px;\n height: 40px; }\n .u-table .u-table-link {\n cursor: pointer;\n color: #0073E1; }\n .u-table .u-table-link-underline:hover {\n text-decoration: underline; }\n .u-table .u-table-currency {\n display: inline-block;\n text-align: right; }\n\n.u-table:focus {\n outline: none;\n box-shadow: 0 0 0; }\n\n.u-table-bordered .u-table-drag-gap {\n background: #e9e9e9; }\n\n.u-table.bordered table {\n border-collapse: collapse; }\n\n.u-table.bordered th,\n.u-table.bordered td {\n border: 1px solid rgb(193, 199, 208); }\n\n.move-enter,\n.move-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n animation-duration: 2.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-leave {\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-enter.move-enter-active,\n.move-appear.move-enter-active {\n animation-name: moveLeftIn;\n animation-play-state: running; }\n\n.move-leave.move-leave-active {\n animation-name: moveRightOut;\n animation-play-state: running; }\n\n@keyframes moveLeftIn {\n 0% {\n transform-origin: 0 0;\n transform: translateX(30px);\n opacity: 0;\n background: rgb(238,238,238); }\n 20% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 80% {\n background: rgb(238,238,238); }\n 100% {\n background: transparent;\n opacity: 1; } }\n\n@keyframes moveRightOut {\n 0% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 100% {\n transform-origin: 0 0;\n transform: translateX(-30px);\n opacity: 0; } }\n\n.formItem-style {\n height: unset;\n min-height: unset;\n padding: 0; }\n\n.errMessage-style {\n display: none;\n border: none;\n /* margin-top: 5px; */\n /* margin-bottom: 5px; */\n background: transparent;\n color: #f22c1d;\n /* padding-left: 12px; */\n /* padding-right: 12px; */\n margin: 0;\n position: absolute;\n padding: 0;\n top: 3px;\n right: 0; }\n\n.editable-cell {\n position: relative; }\n\n.editable-cell-input-wrapper,\n.editable-cell-text-wrapper {\n padding-right: 24px; }\n\n.editable-cell-input-wrapper .u-form-item.formItem-style .u-label {\n display: none; }\n\n.editable-cell-input-wrapper .u-input-group .u-form-control {\n height: 26px;\n font-size: 12px; }\n\n.editable-cell-text-wrapper {\n padding: 5px 24px 5px 5px;\n height: 30px; }\n\n.editable-cell-icon,\n.editable-cell-icon-check {\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n cursor: pointer; }\n\n.editable-cell-icon {\n line-height: 28px;\n display: none; }\n\n.editable-cell-icon-check {\n line-height: 28px; }\n\n.editable-cell:hover .editable-cell-icon {\n display: inline-block; }\n\n.editable-cell-icon:hover,\n.editable-cell-icon-check:hover {\n color: #2db7f5; }\n\n.editable-add-btn {\n margin-bottom: 8px; }\n\n.search-component {\n margin-bottom: 20px; }\n .search-component .empty-search {\n position: absolute;\n right: 45px;\n z-index: 20;\n top: 5px;\n color: #524e4e;\n cursor: pointer; }\n .search-component.u-input-group.simple {\n float: right; }\n .search-component.u-input-group.simple .u-form-control {\n width: 251px;\n background: #f5f5f5;\n border-color: #f5f5f5;\n border-radius: 20px; }\n .search-component.u-input-group.simple .u-input-group-btn {\n top: 3px;\n right: 20px;\n position: absolute; }\n\n.col-resize-container {\n height: 0px;\n position: relative; }\n .col-resize-container + .table-col-resizer:first-of-type {\n table-layout: fixed; }\n .col-resize-container .active-drag .icon {\n visibility: visible; }\n .col-resize-container .last-handle {\n display: none; }\n .col-resize-container .drag-handle {\n margin-left: -5px;\n position: absolute;\n z-index: 5;\n width: 10px;\n cursor: col-resize; }\n .col-resize-container .drag-handle .icon {\n color: #40b0dc;\n top: -1px;\n position: absolute;\n visibility: hidden; }\n .col-resize-container .drag-handle .icon:first-child {\n left: -2px; }\n .col-resize-container .drag-handle .icon:last-child {\n left: 6px; }\n .col-resize-container .drag-handle:hover .icon {\n visibility: visible; }\n .col-resize-container .drag-handle:hover .col-resizer {\n border: 1px solid; }\n .col-resize-container .drag-handle.disabled-drag {\n cursor: default;\n display: none; }\n .col-resize-container .drag-handle .col-resizer {\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0px;\n left: 3px; }\n\n.u-filter-dropdown-menu-wrap {\n z-index: 1800; }\n .u-filter-dropdown-menu-wrap .u-dropdown-menu li.u-dropdown-menu-item {\n line-height: 26px;\n height: 26px;\n padding: 0px 16px 0 16px;\n cursor: pointer; }\n\n.filter-wrap .u-form-control {\n height: 26px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\n height: 26px; }\n\n.filter-wrap .calendar-picker .u-input-group-btn {\n line-height: 20px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf {\n line-height: 12px; }\n\n.u-row-hover {\n position: absolute;\n right: 24px;\n display: none;\n align-items: center;\n justify-content: center;\n background: transparent; }\n\n.u-row-hover2 {\n position: absolute;\n left: 100; }\n\n.header-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.header-dispaly-in-row th {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.body-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.body-dispaly-in-row td {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.body-dispaly-in-row .u-table-fieldtype {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.u-table-drag-hidden-cont {\n position: absolute;\n top: -1000px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n padding-left: 4px;\n border: 1px solid #c1c7d0; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper:hover {\n padding-left: 4px;\n border: 1px solid #a5adba; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper:focus {\n outline: none; }\n\n.u-editable-table-tp .tooltip-arrow {\n top: 1px !important;\n border-bottom-color: #F44336 !important; }\n\n.u-editable-table-tp .tooltip-inner {\n border-color: #F44336 !important; }\n\n.u-dropdown ul.u-table-inline-op-dropdowm li.u-dropdown-menu-item {\n padding: 0 20px 0 10px;\n height: 30px;\n line-height: 30px; }\n .u-dropdown ul.u-table-inline-op-dropdowm li.u-dropdown-menu-item i.uf {\n font-size: 12px; }\n\n.selected {\n background: #FFF7E7; }\n\n.demo25 {\n height: 100%; }\n .demo25 .u-table-filter-column-filter-icon {\n right: 15px; }\n\n.opt-btns .u-button {\n margin: 0 4px;\n color: #fff;\n background: #505F79;\n border-color: #505F79; }\n .opt-btns .u-button:hover, .opt-btns .u-button:active {\n background: #344563;\n border-color: #505F79; }\n","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮()\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮()\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 16px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n\r\n\r\n$loading-icon-color: #0084ff;\r\n\r\n/**\r\n * 加载背景\r\n */\r\n//.u-loading-back{\r\n// position:relative;\r\n// text-align: center;\r\n// width:$loading-back-width;\r\n// height:$loading-back-height;\r\n// margin:0 auto;\r\n// &.light{\r\n// background: #fff;\r\n// }\r\n// &.dark{\r\n// background: #000;\r\n// }\r\n//}\r\n/**\r\n * 文字\r\n */\r\n.u-loading-desc {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n font-size: $font-size-base;\r\n color: $font-color-base;\r\n text-align: center;\r\n}\r\n\r\n\r\n/**\r\n * default样式 单个圆圈加载\r\n */\r\n\r\n.u-loading {\r\n &.u-loading-rotate {\r\n & > div {\r\n position: absolute;\r\n border-radius: 100%;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n // border: 2px solid #0084ff;\r\n // border-bottom-color: transparent;\r\n width: $loading-rotate-size;\r\n height: $loading-rotate-size;\r\n top: $loading-center-top;\r\n left: $loading-center-left;\r\n margin-left: $loading-rotate-center;\r\n margin-top: $loading-rotate-center;\r\n background: transparent !important;\r\n display: inline-block;\r\n -webkit-animation: rotate 1s 0s linear infinite;\r\n animation: rotate 1s 0s linear infinite;\r\n text-align: center;\r\n line-height: $loading-rotate-size;\r\n & > img{\r\n width: $loading-rotate-size;\r\n }\r\n & > .uf{\r\n color: $loading-icon-color;\r\n font-size: 40px;\r\n padding: 0;\r\n }\r\n }\r\n &.u-loading-rotate-lg {\r\n & > div {\r\n margin-left: $loading-rotate-center-lg;\r\n margin-top: $loading-rotate-center-lg;\r\n width: $loading-rotate-lg-size;\r\n height: $loading-rotate-lg-size;\r\n line-height: $loading-rotate-lg-size;\r\n & > img{\r\n width: $loading-rotate-lg-size;\r\n }\r\n & > .uf{\r\n font-size: 60px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-sm {\r\n & > div {\r\n margin-left:$loading-rotate-center-sm;\r\n margin-top: $loading-rotate-center-sm;\r\n width: $loading-rotate-sm-size;\r\n height:$loading-rotate-sm-size;\r\n line-height: $loading-rotate-sm-size;\r\n & > img{\r\n width: $loading-rotate-sm-size;\r\n }\r\n & > .uf{\r\n font-size: 25px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-primary {\r\n & > div > .uf{\r\n color: $loading-loadprimary;\r\n // border: 2px solid $loading-loadprimary;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-success {\r\n & > div > .uf{\r\n color: $loading-loadsuccess;\r\n // border: 2px solid $loading-loadsuccess;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-warning {\r\n & > div > .uf{\r\n color: $loading-loadwarn;\r\n // border: 2px solid $loading-loadwarn;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n.u-loading-backdrop{\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1900;\r\n // opacity: .4;\r\n // filter: blur(.5px);\r\n background-color:rgba(255,255,255,0.4);\r\n &.full-screen{\r\n position: fixed;\r\n }\r\n}\r\n\r\n@keyframes rotate {\r\n 0% {\r\n -webkit-transform: rotate(0deg) scale(1);\r\n transform: rotate(0deg) scale(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: rotate(180deg) scale(1);\r\n transform: rotate(180deg) scale(1);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg) scale(1);\r\n transform: rotate(360deg) scale(1);\r\n }\r\n}\r\n\r\n.u-loading {\r\n &.u-loading-line {\r\n position: absolute;\r\n top:$loading-center-top;\r\n left: $loading-center-left;\r\n margin-top: $loading-line-center-top;\r\n margin-left: $loading-line-center-left;\r\n & > div {\r\n background-color: #C2C3C5;\r\n width: $loading-line-width;\r\n height: $loading-line-height;\r\n border-radius: 2px;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n display: inline-block;\r\n }\r\n &.u-loading-line-lg {\r\n margin-top: $loading-line-center-lg-top;\r\n margin-left: $loading-line-center-lg-left;\r\n & > div {\r\n width: $loading-line-lg-width;\r\n height: $loading-line-lg-height;\r\n }\r\n }\r\n &.u-loading-line-sm {\r\n margin-top: $loading-line-center-sm-top;\r\n margin-left: $loading-line-center-sm-left;\r\n & > div {\r\n width:$loading-line-sm-width;\r\n height: $loading-line-sm-height;\r\n }\r\n }\r\n @each $index, $anima in $loading-lineanimating {\r\n div:nth-child( #{$index} ) {\r\n -webkit-animation: $anima;\r\n animation: $anima;\r\n background-color: map_get($loading-linebackcolor, $index);\r\n }\r\n }\r\n\r\n &.u-loading-line-primary {\r\n & > div {\r\n background-color: $loading-loadprimary;\r\n }\r\n }\r\n &.u-loading-line-success {\r\n & > div {\r\n background-color: $loading-loadsuccess;\r\n }\r\n }\r\n &.u-loading-line-warning {\r\n & > div {\r\n background-color: $loading-loadwarn;\r\n }\r\n }\r\n }\r\n}\r\n.u-loading {\r\n &.u-loading-custom {\r\n & > div {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n -webkit-transform: translate(-50%,-50%);\r\n transform: translate(-50%,-50%);\r\n }\r\n }\r\n}\r\n@keyframes line-scale {\r\n 0% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: scaley(0.4);\r\n transform: scaley(0.4);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n\r\n }\r\n}\r\n","@import \"minxin-colors\";\n\n// 默认色\n$default-color: $palette-blue-grey-50;\n$default-color-dark: \"223,225,230\";\n$default-color-light: \"223,225,230\";\n\n// 主题色\n$primary-color: \"245, 60, 50\" !default;\n$primary-color-dark: \"230, 0, 18\" !default;\n$primary-color-light: \"230, 0, 18\" !default;\n\n// 字体\n$font-family-primary: \"Open Sans\", \"Helvetica Neue\", Arial, \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif !default;\n// 主字号\n$font-size-base: 14px !default;\n// 主按钮文本色\n$text-color-base: $color-dark-contrast !default; \n\n// 圆角,包括:button、select等\n$border-radius: 3px !default;\n// 边框色,包括按钮、输入框、分页\n$border-color: \"165, 173, 186\" !default;\n// 条目hover背景色,包括:select、dropdown、table、datepicker、tree、menu、calendar\n$item-hover-bg-color-base: \"235, 236, 240\" !default;\n// 条目selected背景色,包括:select、menu等\n$item-selected-bg-color-base: \"255, 247, 231\" !default;\n\n// Button 细化样式变量:\n// 次按钮背景色\n$secondary-color: $palette-blue-grey-50 !default;\n$secondary-color-dark: \"223,225,230\" !default;\n$secondary-color-light: \"223,225,230\" !default;\n// 次按钮文本色\n$button-secondary-text-color: $palette-grey-900 !default;\n\n// Table 细化样式变量:\n// 表头背景色\n$table-header-background-color: \"241, 242, 245\";\n// 表头文字颜色\n$table-header-text-color: \"33, 33, 33\";\n// 表格分割线颜色\n$table-border-color-base: \"193, 199, 208\";\n// 表格行hover背景色\n$table-row-hover-bg-color: \"235, 236, 240\";\n\n// 向下兼容\n$color-primary: $palette-blue-600 !default;\n$color-primary-dark: $palette-blue-800 !default;\n$color-primary-light: $palette-blue-400 !default;\n\n// 辅色\n$color-accent: $palette-green-600 !default;\n$color-accent-dark: $palette-green-800 !default;\n$color-accent-light: $palette-green-400 !default;\n\n\n// cyan主题\n//$color-primary: $palette-cyan-500 !default;\n//$color-primary-dark: $palette-cyan-700 !default;\n//$color-accent: $palette-light-blue-500 !default;\n\n// orange主题\n//$color-primary: $palette-orange-500 !default;\n//$color-primary-dark: $palette-orange-700 !default;\n//$color-accent: $palette-deep-orange-500 !default;\n","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\n@import \"../node_modules/bee-loading/src/Loading\";\n\n$text-color: $font-color-base;\n$font-size-base: 12px;\n$line-height: 1.33;\n// 主题定制border:\n$table-border-color: unquote(\"rgb(#{$table-border-color-base})\");\n// $table-head-background-color: #f7f7f7;\n// $table-head-text-color: #666;\n$vertical-padding: 12px;\n$horizontal-padding: 8px;\n$first-horizontal-padding: 12px;\n// $table-border-color: #e9e9e9;\n\n$table-hover-color: #E7F2FC;\n$table-move-in-color: $bg-color-base;\n$checkbox-height:14px;\n$table-th-bottom-border:#C1C7D0;\n\n$filter-form-control-height:26px;\n$table-head-font-weight: bold;\n$icon-color:#505F79;\n.u-table {\n font-size: $font-size-base;\n color: $text-color;\n // transition: opacity 0.3s ease;\n position: relative;\n line-height: $line-height;\n overflow: hidden;\n &-body{\n // overflow: hidden!important;\n position: relative;\n .u-table-row-expand-columns-in-body .expand-icon-con {\n display: none;\n pointer-events: none;\n }\n }\n &-hiden-drag{\n position: relative;\n &-li{\n position: absolute;\n top: 0px;\n left: 0px;\n // height: 10px;//这个高度先注释掉了,加上后,在火狐浏览器上会站位置。滚动条拉到最右边有错行\n }\n }\n table {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n }\n\n th {\n // background: $table-head-background-color;\n font-weight: $table-head-font-weight;\n text-align: left;\n // transition: background 0.3s ease;\n line-height: 16px;\n &[colspan] {\n text-align: center;\n }\n ::last-child{\n overflow: hidden;\n }\n }\n\n td {\n border-bottom: 1px solid $table-border-color;\n line-height: $line-height;\n a{\n color: #2196F3;\n &:hover{\n color: #1565c0;\n }\n &:active{\n color: #1565c0;\n }\n }\n .u-switch-span{\n display: inline-block\n }\n }\n thead{\n tr:last-child{\n border-bottom: 1px solid $table-th-bottom-border;\n }\n tr>th:last-child{\n // border-right: none; \n }\n }\n tr {\n // transition: all 0.3s ease;\n &:hover {\n // background: $hover-bg-color-base;\n td {\n .uf-eye{\n visibility: visible !important;\n }\n }\n }\n tr a{\n color: #2196F3;\n &:hover{\n color: #1565c0;\n }\n &:active{\n color: #1565c0;\n }\n }\n td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body){\n display: flex;\n flex-direction: row-reverse;\n &:nth-last-child(1):last-child {\n border-right: none;\n }\n .expand-icon-con {\n height: 14px;\n .uf{\n padding: 0;\n }\n .u-table-row-expand-icon {\n width: 2px;\n }\n }\n .u-checkbox {\n margin: 0;\n }\n }\n td.u-table-inline-icon{\n position: relative;\n padding-right: 24px;\n span.u-table-inline-op-icon{\n position: absolute;\n right: 0;\n .uf{\n display: block;\n vertical-align: top;\n }\n }\n span.u-table-inline-op-icon-hover{\n visibility: hidden;\n }\n } \n }\n tr.u-table-row-hover{\n td.u-table-inline-icon{\n span.u-table-inline-op-icon-hover{\n visibility: visible;\n }\n }\n }\n .u-table-inline-op-icon-hidden{\n visibility: hidden;\n }\n tr.tr-row-hover {\n background: $hover-bg-color-base;\n }\n\n th,\n td {\n padding: $vertical-padding $horizontal-padding;\n word-break: break-all;\n &.drag-handle-column {\n .uf {\n font-size: 12px;\n line-height: 12px;\n }\n &.u-table-row-has-expandIcon .uf {\n padding: 0;\n }\n }\n &.text-center{\n text-align: center;\n }\n &.text-right{\n text-align: right;\n }\n .expand-icon-con{\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n line-height: 12px;\n .uf{\n padding: 0;\n font-size: 12px;\n }\n }\n }\n &-sm {\n td {\n padding: 8px $horizontal-padding;\n }\n }\n &-lg {\n td {\n padding: 16px $horizontal-padding;\n }\n }\n tr {\n \n &.filterable{\n th{\n padding-top: 5px !important;\n padding-bottom: 5px !important;\n .filterContext{\n height: 35px;\n }\n .u-select-selection--single{\n height: 26px;\n }\n }\n }\n }\n &-row-hover {\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\n }\n \n &-scroll {\n overflow: auto;\n }\n &-bordered {\n table {\n border: 1px solid $table-border-color;\n box-sizing: border-box;\n table-layout: fixed;\n // width:auto;\n }\n \n .u-table-header>table {\n border-bottom: 0;\n }\n .u-table-header~.u-table-body,.u-table-header~.u-table-body-outer{\n table{\n border-top: 0px ;\n }\n }\n\n th {\n border-bottom: 1px solid $table-border-color;\n box-sizing: border-box;\n }\n th,\n td {\n border-right: 1px solid $table-border-color;\n box-sizing: border-box;\n }\n }\n &-drag-border{\n tr {\n th.th-can-not-drag{ //拖拽tag影响了表格整体宽度\n overflow: hidden;\n .u-table-thead-th-drag-gap{//最后一个非固定列不可以拖拽\n display: none;\n }\n }\n }\n }\n &-header {\n overflow: hidden;\n background: $table-head-background-color;\n color: $table-head-text-color;\n }\n\n &.fixed-height td {\n padding: 0px $horizontal-padding;\n }\n\n &-fixed-header &-body {\n background: #fff;\n position: relative;\n }\n &-fixed-left &-body-inner {\n margin-right: -20px;\n padding-right: 20px;\n }\n\n &-fixed-header:not(.u-table-hide-header) &-fixed-left &-body-inner {\n padding-right: 0px;\n }\n\n &-fixed-header &-body-inner {\n height: 100%;\n overflow: scroll;\n }\n\n\n &-fixed-header &-scroll &-header {\n overflow-x: scroll;\n padding-bottom: 20px;\n margin-bottom: -20px;\n overflow-y: scroll;\n box-sizing: border-box;\n }\n\n &-title {\n padding: $vertical-padding $horizontal-padding;\n border-top: 1px solid $table-border-color;\n }\n\n &-content {\n position: relative;\n }\n\n &-footer {\n padding: $vertical-padding $horizontal-padding;\n border-bottom: 1px solid $table-border-color;\n .u-table-scroll{\n overflow-x: hidden;\n }\n }\n &-footer & {\n margin: (-$vertical-padding) (-$horizontal-padding);\n }\n\n &-placeholder {\n padding: $vertical-padding 8px;\n background: #fff;\n border-bottom: 1px solid $table-border-color;\n text-align: center;\n position: relative;\n .table-nodata{ \n font-size: 40px; \n line-height: 44px;\n + span{\n font-size: 12px;\n line-height: 12px;\n display: block;\n }\n }\n }\n\n &-expand-icon-col {\n width: 10px;\n }\n &-row,\n &-expanded-row {\n .u-table{\n tr{\n background: #fff;\n }\n tr.u-table-row-hover{\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\n \n }\n }\n &-expand-icon {\n cursor: pointer;\n display: inline-block;\n margin-right: 8px;\n width: 14px;\n height: 14px;\n text-align: center;\n line-height: 14px;\n user-select: none;\n &.uf{\n font-size: 12px;\n padding: 0;\n }\n }\n &-spaced {\n visibility: hidden;\n }\n &-spaced:after {\n content: \".\";\n }\n &-expanded {\n &:after {\n content: \"\\e639\";\n font-family: \"uf\";\n }\n }\n &-collapsed {\n &:after {\n content: \"\\e61c\";\n font-family: \"uf\";\n }\n }\n }\n &-row{\n &.selected{\n background: #FFF7E7;\n }\n }\n tr.u-table-expanded-row {\n background: #DFE1E6;\n &:hover {\n background: #DFE1E6;\n }\n .u-table {\n // padding: 0 40px 0 20px;\n z-index: 1;\n }\n }\n &-column-hidden {\n display: none;\n }\n &-prev-columns-page,\n &-next-columns-page {\n cursor: pointer;\n color: #666;\n z-index: 1;\n &:hover {\n color: #2db7f5;\n }\n &-disabled {\n cursor: not-allowed;\n color: #999;\n &:hover {\n color: #999;\n }\n }\n }\n &-prev-columns-page {\n margin-right: 8px;\n &:before {\n content: \"<\";\n }\n }\n &-next-columns-page {\n float: right;\n &:before {\n content: \">\";\n }\n }\n\n &-fixed-left,\n &-fixed-right {\n position: absolute;\n top: 0;\n overflow: hidden;\n z-index: 1;\n table {\n width: auto;\n background: #fff;\n }\n }\n\n &-fixed-left {\n left: 0;\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1);\n &-body-inner {\n margin-right: -20px;\n padding-right: 20px;\n }\n &-fixed-header & &-body-inner {\n padding-right: 0;\n }\n }\n\n &-fixed-right {\n right: 0;\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1);\n\n // hide expand row content in right fixed Table\n // https://github.com/ant-design/ant-design/issues/1898\n &-expanded-row {\n color: transparent;\n pointer-events: none;\n }\n \n }\n \n &-scroll-position-left &-fixed-left {\n box-shadow: none;\n }\n\n &-scroll-position-right &-fixed-right {\n box-shadow: none;\n }\n\n &-thead{\n .filter-text,.filter-dropdown,.filter-date {\n font-weight: normal;\n }\n .filter-wrap{\n display: flex;\n justify-content: center;\n align-items: center;\n .filter-btns{\n min-width: 58px;\n }\n }\n th{\n background: $table-head-background-color;\n color: $table-head-text-color;\n background-clip:padding-box;\n //禁止选中文字\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none; \n /*\n Introduced in IE 10. \n */\n -ms-user-select: none;\n user-select: none;\n\n // overflow: hidden;\n // white-space: nowrap;\n // text-overflow: ellipsis;\n .required {\n color: #F22C1D;\n }\n .bee-table-column-sorter {\n position: relative;\n margin-left: 4px;\n height: 16px;\n vertical-align: middle;\n text-align: center;\n display: inline-block;\n margin-top: -3px;\n i{\n padding: 0px;\n font-weight: 600;\n color: $icon-color;\n }\n \n & > .bee-table-column-sorter-down,\n & > .bee-table-column-sorter-up, & > .bee-table-column-sorter-flat {\n line-height: 16px;\n display: block;\n width: 34px;\n cursor: pointer;\n }\n \n \n }\n\n .bee-table-column-sorter-down.on .uf-triangle-down,\n .bee-table-column-sorter-down.on .uf-triangle-up,\n .bee-table-column-sorter-up.on .uf-triangle-down,\n .bee-table-column-sorter-up.on .uf-triangle-up {\n color: #108ee9;\n }\n .bee-table-column-sorter .uf-triangle-down,\n .bee-table-column-sorter .uf-triangle-up {\n -webkit-filter: none;\n filter: none;\n font-size: 12px;\n }\n .bee-table-column-sorter .uf-triangle-down,\n .bee-table-column-sorter .uf-triangle-up {\n display: inline-block;\n padding: 0;\n font-size: 12px;\n font-size: 8px\\9;\n -webkit-transform: scale(0.66666667) rotate(0deg);\n -ms-transform: scale(0.66666667) rotate(0deg);\n transform: scale(0.66666667) rotate(0deg);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n zoom: 1;\n line-height: 4px;\n height: 4px;\n color: #999;\n // -webkit-transition: all 0.3s;\n // transition: all 0.3s;\n }\n &:hover{\n .bee-table-column-sorter {\n display: inline-block;\n }\n }\n }\n .th-drag{\n cursor: move;\n }\n .th-drag:hover{\n background: $hover-bg-color-base;\n\n }\n //为了区分是拖拽宽度还是交换列,先注释上面了\n // .th-drag:hover{\n // background:#ccc;\n // }\n .th-drag-hover{ \n background: #ccc;\n }\n &-th{\n position: relative;\n\n &-drag-gap{\n height: 100%;\n position: absolute;\n right: -10px;\n top: 0;\n // background:transparent;\n // width: 1px;\n // background:#ccc;\n width: 20px;\n \n box-sizing: border-box;\n z-index: 1;\n\n .online{\n height: 100%;\n width: 4px;\n // background:transparent;//兼容火狐浏览器,如果table设置border,\n margin: 0 auto;\n }\n .online:hover{\n background:#000000;\n }\n .online-hover{\n background:#000000;\n }\n \n }\n &-drag-gap:hover{\n cursor: col-resize;\n .online{\n background: #000000\n }\n }\n }\n &-th:last-child {\n &-drag-gap{\n border: none;\n }\n }\n }\n\n\n &-filter-column{\n \n &-pop-cont{\n margin: 0px;\n max-height: 300px;\n overflow-y: auto;\n color:#212121;\n }\n &-clear-setting{ \n // border-bottom: 1px solid #ccc;\n cursor: pointer;\n margin-bottom: 4px;\n }\n &-cont{\n position: relative;\n }\n &-filter-icon{\n position: absolute;\n width: 30px;\n height: 39px ;\n line-height: 39px;\n right: 0px ;\n top:1px ;\n z-index: 2;\n background: $table-head-background-color;\n text-align: center;\n cursor: pointer;\n i.uf{\n padding: 0px;\n color: $icon-color;\n }\n }\n &-pop-cont-item{\n margin-top: 8px;\n font-size: 12px;\n // line-height: 30px;\n cursor: pointer;\n .u-checkbox {\n margin: 0px;\n\n }\n }\n &-pop-cont-item span.drop-menu-title{\n margin-left: -3px;\n max-width: 132px;\n width: auto !important;\n min-width: 56px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle;\n }\n &-pop .u-modal-dialog{\n border: 1px solid #ccc;\n background: #fff;\n }\n }\n //拖拽宽度代码\n &-row-fixed-columns-in-body{\n // visibility: hidden;\n display:none;\n pointer-events: none;\n }\n //固定列含有checkbox 样式复写\n .u-checkbox {\n height: $checkbox-height;\n line-height: $checkbox-height;\n margin:0px;\n display: block;\n margin-left: 5px;\n .u-checkbox-label{\n line-height: $checkbox-height;\n padding-left: 16px;\n &:before,&:after {\n width: $checkbox-height;\n height: $checkbox-height;\n }\n }\n }\n .u-table-scroll,.u-table-fixed-left{\n tr{\n td:first-child, th:first-child{\n padding-left: $first-horizontal-padding\n }\n }\n }\n &.has-fixed-left{\n .u-table-scroll{\n tr{\n td:first-child, th:first-child{\n padding-left: $horizontal-padding\n }\n }\n }\n }\n // 滚动条样式复写\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n ::-webkit-scrollbar-button {\n display: none;\n }\n ::-webkit-scrollbar-thumb {\n background: #d5d5d5 !important;\n border-radius: 5px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #d5d5d5;\n position: absolute;\n }\n\n ::-webkit-scrollbar-track {\n display: none;\n }\n\n ::-webkit-scrollbar-track-piece {\n display: none;\n }\n\n .row-dragg-able{\n cursor:move;\n }\n .u-table-drag-hidden-cont{\n width: 100px;\n height: 40px;\n }\n\n .u-table-link{\n cursor: pointer;\n color: #0073E1;\n }\n .u-table-link-underline:hover{\n text-decoration:underline;\n }\n .u-table-currency{\n display: inline-block;\n text-align: right;\n }\n}\n\n.u-table:focus{\n outline: none;\n // border-color: #9ecaed;\n // box-shadow: 0 0 10px #9ecaed;\n box-shadow: 0 0 0;\n}\n\n .u-table-bordered {\n .u-table-drag-gap{\n background:#e9e9e9;\n }\n }\n.u-table.bordered {\n table {\n border-collapse: collapse;\n }\n th,\n td {\n border: 1px solid $table-border-color;\n }\n}\n\n.move-enter,\n.move-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n animation-duration: 2.5s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n\n.move-leave {\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n\n.move-enter.move-enter-active,\n.move-appear.move-enter-active {\n animation-name: moveLeftIn;\n animation-play-state: running;\n}\n\n.move-leave.move-leave-active {\n animation-name: moveRightOut;\n animation-play-state: running;\n}\n\n@keyframes moveLeftIn {\n 0% {\n transform-origin: 0 0;\n transform: translateX(30px);\n opacity: 0;\n background: $table-move-in-color;\n }\n 20% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1;\n }\n 80% {\n background: $table-move-in-color;\n }\n 100% {\n background: transparent;\n opacity: 1;\n }\n}\n\n@keyframes moveRightOut {\n 0% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1;\n }\n 100% {\n transform-origin: 0 0;\n transform: translateX(-30px);\n opacity: 0;\n }\n}\n\n.formItem-style {\n height: unset;\n min-height: unset;\n padding: 0;\n}\n.errMessage-style {\n display: none;\n border: none;\n /* margin-top: 5px; */\n /* margin-bottom: 5px; */\n background: transparent;\n color: #f22c1d;\n /* padding-left: 12px; */\n /* padding-right: 12px; */\n margin: 0;\n position: absolute;\n padding: 0;\n top: 3px;\n right: 0;\n}\n\n.editable-cell {\n position: relative;\n}\n\n.editable-cell-input-wrapper,\n.editable-cell-text-wrapper {\n padding-right: 24px;\n}\n.editable-cell-input-wrapper {\n .u-form-item.formItem-style .u-label{\n display: none;\n }\n .u-input-group .u-form-control{\n height: 26px;\n font-size: 12px;\n }\n}\n\n.editable-cell-text-wrapper {\n padding: 5px 24px 5px 5px;\n height: 30px;\n}\n\n.editable-cell-icon,\n.editable-cell-icon-check {\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n cursor: pointer;\n}\n\n.editable-cell-icon {\n line-height: 28px;\n display: none;\n}\n\n.editable-cell-icon-check {\n line-height: 28px;\n}\n\n.editable-cell:hover .editable-cell-icon {\n display: inline-block;\n}\n\n.editable-cell-icon:hover,\n.editable-cell-icon-check:hover {\n color: #2db7f5;\n}\n\n.editable-add-btn {\n margin-bottom: 8px;\n}\n\n.search-component {\n margin-bottom: 20px;\n .empty-search {\n position: absolute;\n right: 45px;\n z-index: 20;\n top: 5px;\n color: #524e4e;\n cursor: pointer;\n }\n &.u-input-group.simple {\n float: right;\n }\n &.u-input-group.simple .u-form-control {\n width: 251px;\n background: #f5f5f5;\n border-color: #f5f5f5;\n border-radius: 20px;\n }\n &.u-input-group.simple .u-input-group-btn {\n top: 3px;\n right: 20px;\n position: absolute;\n }\n}\n\n\n.col-resize-container {\n height: 0px;\n position: relative;\n\n & + .table-col-resizer:first-of-type {\n table-layout: fixed;\n }\n\n .active-drag .icon{\n visibility: visible;\n }\n\n .last-handle {\n display: none;\n }\n\n .drag-handle {\n margin-left: -5px;\n position: absolute;\n z-index: 5;\n width: 10px;\n cursor: col-resize;\n\n .icon {\n color: #40b0dc;\n top: -1px;\n position: absolute;\n visibility: hidden;\n\n &:first-child {\n left: -2px\n }\n &:last-child {\n left: 6px\n }\n }\n\n &:hover{\n .icon{\n visibility: visible;\n }\n .col-resizer {\n border: 1px solid;\n }\n }\n\n &.disabled-drag {\n cursor: default;\n display: none;\n }\n\n .col-resizer {\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0px;\n left: 3px;\n }\n }\n}\n\n.u-filter-dropdown-menu-wrap {\n z-index: 1800;\n .u-dropdown-menu {\n li.u-dropdown-menu-item {\n line-height: $filter-form-control-height;\n height: $filter-form-control-height;\n padding: 0px 16px 0 16px;\n cursor: pointer;\n }\n }\n}\n.filter-wrap {\n .u-form-control{\n height: $filter-form-control-height;\n }\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\n height: $filter-form-control-height;\n }\n .calendar-picker {\n .u-input-group-btn{\n line-height: 20px;\n }\n }\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf{\n line-height: 12px;\n }\n}\n.u-row-hover{\n position: absolute;\n right: 24px;\n display: none;\n align-items: center;\n justify-content: center;\n background: transparent;\n}\n\n.u-row-hover2{\n position: absolute;\n left: 100;\n}\n\n\n\n// 表格显示里面的内容显示在一行\n.header-dispaly-in-row{\n &.u-table{\n table{\n table-layout: fixed;\n }\n }\n th{\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n }\n}\n.body-dispaly-in-row{\n &.u-table{\n table{\n table-layout: fixed;\n }\n \n }\n td{\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n }\n .u-table-fieldtype{\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n }\n}\n.u-table-drag-hidden-cont{\n position: absolute;\n top:-1000px;\n}\n\n.u-editable-table .u-table {\n .u-table-row-hover {\n .editable-cell-text-wrapper {\n padding-left: 4px;\n border: 1px solid #c1c7d0;\n }\n }\n\n .editable-cell-text-wrapper {\n &:hover {\n padding-left: 4px;\n border: 1px solid #a5adba;\n }\n }\n\n .editable-cell-input-wrapper {\n &:focus {\n outline: none;\n }\n }\n}\n\n.u-editable-table-tp {\n .tooltip-arrow {\n top: 1px !important;\n border-bottom-color: #F44336 !important;\n }\n\n .tooltip-inner {\n border-color: #F44336 !important;\n }\n}\n.u-dropdown{\n ul.u-table-inline-op-dropdowm{\n li.u-dropdown-menu-item{\n padding: 0 20px 0 10px;\n height: 30px;\n line-height: 30px;\n i.uf{\n font-size: 12px;\n }\n }\n }\n}\n","// @import \"../node_modules/tinper-bee-core/scss/index.scss\";\n// @import \"../node_modules/bee-panel/src/Panel.scss\";\n// @import \"../node_modules/bee-layout/src/Layout.scss\";\n// @import \"../node_modules/bee-button/src/Button.scss\";\n// @import \"../node_modules/bee-transition/src/Transition.scss\";\n// @import \"../node_modules/bee-popconfirm/src/Popconfirm.scss\";\n// @import \"../node_modules/bee-form-control/src/FormControl.scss\";\n// @import \"../node_modules/bee-pagination/src/Pagination.scss\";\n// @import \"../node_modules/bee-checkbox/src/Checkbox.scss\";\n// @import \"../node_modules/bee-select/src/Select.scss\";\n// @import \"../node_modules/bee-popover/src/Popover.scss\";\n// @import \"../node_modules/bee-tooltip/src/Tooltip.scss\";\n// @import \"../node_modules/bee-message/build/Message.css\";\n// @import \"../node_modules/bee-dropdown/build/Dropdown.css\";\n// @import \"../node_modules/bee-input-number/build/InputNumber.css\";\n// @import \"../node_modules/bee-modal/build/Modal.css\";\n@import \"../src/Table.scss\";\n\n\n//引入日期控件样式文件\n// @import \"../node_modules/bee-datepicker/src/datepicker.scss\";\n\n.selected{\n background: #FFF7E7;\n}\n\n.demo25{\n height: 100%;\n\n .u-table-filter-column-filter-icon{\n right: 15px;\n }\n\n}\n.opt-btns .u-button{\n margin: 0 4px;\n color: #fff;\n background: #505F79;\n border-color: #505F79;\n &:hover, &:active{\n background: #344563;\n border-color: #505F79;\n }\n}"],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"sources":["demo.css","../node_modules/tinper-bee-core/scss/minxin-variables.scss","../node_modules/bee-loading/src/Loading.scss","../node_modules/tinper-bee-core/scss/minxin-themeColors.scss","../src/Table.scss","TableDemo.scss","demolist/Demo0104.scss","demolist/Demo0302.scss","demolist/Demo0402.scss","demolist/Demo0501.scss","demolist/Demo0502.scss","demolist/Demo0503.scss","demolist/Demo0505.scss","demolist/Demo0603.scss","demolist/Demo1101.scss","demolist/Demo1601.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACuXjB,eAAe;AAWf,iBAAiB;AAXjB,eAAe;AAWf,iBAAiB;AC5XjB;;IAEI;AAcJ;;IAEI;AACJ;EACE,mBAAkB;EAClB,UAAS;EACT,QAAO;EACP,SAAQ;EACR,gBCfmB;EDgBnB,eDauB;ECZvB,mBAAkB,EACnB;;AAGD;;IAEI;AAEJ;EAGM,mBAAkB;EAClB,oBAAmB;EACnB,YAAW;EAEX,0BAAyB;EAGzB,YDkwCmB;ECjwCnB,aDiwCmB;EChwCnB,SD2wCiB;EC1wCjB,UD2wCkB;EC1wClB,mBD6wCsB;EC5wCtB,kBD4wCsB;EC3wCtB,mCAAkC;EAClC,sBAAqB;EAErB,wCAAuC;EACvC,mBAAkB;EAClB,kBDuvCmB,EC9uCpB;EA9BL;IAuBQ,YDqvCiB,ECpvClB;EAxBP;IA0BQ,eA9DoB;IA+DpB,gBAAe;IACf,WAAU,EACX;;AA7BP;EAiCQ,mBD2vCuB;EC1vCvB,kBD0vCuB;ECzvCvB,YD0uCoB;ECzuCpB,aDyuCoB;ECxuCpB,kBDwuCoB,ECjuCrB;EA5CP;IAuCU,YDsuCkB,ECruCnB;EAxCT;IA0CU,gBAAe,EAChB;;AA3CT;EAgDQ,mBD0uCwB;ECzuCxB,kBDyuCwB;ECxuCxB,YDytCqB;ECxtCrB,aDwtCqB;ECvtCrB,kBDutCqB,EChtCtB;EA3DP;IAsDU,YDqtCmB,ECptCpB;EAvDT;IAyDU,gBAAe,EAChB;;AA1DT;EA+DQ,eDorC8B,ECjrC/B;;AAlEP;EAsEQ,eD8qCqB,EC3qCtB;;AAzEP;EA6EQ,eDwqC2B,ECrqC5B;;AAMP;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,cAAa;EAGb,2CAAsC,EAIvC;EAbD;IAWI,gBAAe,EAChB;;AAGH;EACE;IAEE,iCAAgC,EAAA;EAGlC;IAEE,mCAAkC,EAAA;EAGpC;IAEE,mCAAkC,EAAA,EAAA;;AAItC;EAEI,mBAAkB;EAClB,SD8pCmB;EC7pCnB,UD8pCoB;EC7pCpB,kBDqqC0B;ECpqC1B,mBDqqC2B,ECnnC5B;EAxDH;IAQM,0BAAyB;IACzB,WDkpCiB;ICjpCjB,aDkpCmB;ICjpCnB,mBAAkB;IAClB,YAAW;IAEX,0BAAyB;IACzB,sBAAqB,EACtB;EAhBL;IAkBM,kBD0pC2B;ICzpC3B,mBD0pC4B,ECrpC7B;IAxBL;MAqBQ,WDwoCkB;MCvoClB,aDwoCoB,ECvoCrB;EAvBP;IA0BM,kBD8oC4B;IC7oC5B,mBD8oC4B,ECzoC7B;IAhCL;MA6BQ,WD4nCmB;MC3nCnB,aD4nCoB,EC3nCrB;EA/BP;IAoCQ,2ED6lC8D;IC5lC9D,0BDmmCU,EClmCX;EAtCP;IAoCQ,2ED8lC8D;IC7lC9D,0BDomCU,ECnmCX;EAtCP;IAoCQ,2ED+lC8D;IC9lC9D,0BDqmCU,ECpmCX;EAtCP;IAoCQ,2EDgmC8D;IC/lC9D,0BDsmCU,ECrmCX;EAtCP;IAoCQ,2EDimC8D;IChmC9D,0BDumCU,ECtmCX;EAtCP;IA2CQ,0BDklC8B,ECjlC/B;EA5CP;IAgDQ,0BD8kCqB,EC7kCtB;EAjDP;IAqDQ,0BD0kC2B,ECzkC5B;;AAIP;EAGM,mBAAkB;EAClB,UAAS;EACT,SAAQ;EAER,iCAA+B,EAChC;;AAGL;EACE;IAEE,qBAAoB,EAAA;EAGtB;IAEE,uBAAsB,EAAA;EAGxB;IAEE,qBAAoB,EAAA,EAAA;;AExNxB;EACE,gBApBmB;EAqBnB,eHkBuB;EGhBvB,mBAAkB;EAClB,kBAvBgB;EAwBhB,iBAAgB,EA8tBjB;EA7tBC;IAEE,mBAAkB,EAKnB;IAPA;MAIG,cAAa;MACb,qBAAoB,EACrB;EAEH;IACE,mBAAkB,EAOnB;IANC;MACE,mBAAkB;MAClB,SAAQ;MACR,UAAS,EAEV;EAtBL;IAyBI,YAAW;IACX,0BAAyB;IACzB,iBAAgB,EACjB;EA5BH;IAgCI,kBAlCyB;IAmCzB,iBAAgB;IAEhB,kBAAiB,EAOlB;IA1CH;MAqCM,mBAAkB,EACnB;IAtCL;MAwCM,iBAAgB,EACjB;EAzCL;IA6CI,4CA7D4D;IA8D5D,kBAhEc,EA6Ef;IA3DH;MAgDM,eAAc,EAOf;MAvDL;QAkDQ,eAAc,EACf;MAnDP;QAqDQ,eAAc,EACf;IAtDP;MAyDM,sBACF,EAAC;EA1DL;IA8DM,iCAnEyB,EAoE1B;EA/DL;IA0EU,+BAA8B,EAC/B;EA3ET;IA+EM,eAAc,EAOf;IAtFL;MAiFQ,eAAc,EACf;IAlFP;MAoFQ,eAAc,EACf;EArFP;IAwFM,qBAAa;IAAb,cAAa;IACb,gCAA2B;IAA3B,4BAA2B,EAgB5B;IAzGL;MA2FQ,mBAAkB,EACnB;IA5FP;MA8FQ,aAAY,EAOb;MArGP;QAgGU,WAAU,EACX;MAjGT;QAmGU,WAAU,EACX;IApGT;MAuGQ,UAAS,EACV;EAxGP;IA2GM,mBAAkB;IAClB,oBAAmB,EAYpB;IAxHL;MA8GQ,mBAAkB;MAClB,SAAQ,EAKT;MApHP;QAiHU,eAAc;QACd,oBAAmB,EACpB;IAnHT;MAsHQ,mBAAkB,EACnB;EAvHP;IA6HQ,oBAAmB,EACpB;EA9HP;IAkII,mBAAkB,EACnB;EAnIH;IAqII,+BHwD8D,EGvD/D;EAtIH;;IA0II,kBAtJoB;IAuJpB,sBAAqB,EA0BtB;IArKH;;MA8IQ,gBAAe;MACf,kBAAiB,EAClB;IAhJP;;MAkJQ,WAAU,EACX;IAnJP;;MAsJM,mBAAkB,EACnB;IAvJL;;MAyJM,kBAAiB,EAClB;IA1JL;;MA4JM,gBAAe;MACf,sBAAqB;MACrB,gBAAe;MACf,kBAAiB,EAKlB;MApKL;;QAiKQ,WAAU;QACV,gBAAe,EAChB;EAGJ;IAEG,iBApLkB,EAqLnB;EAEF;IAEG,kBAzLkB,EA0LnB;EA9KL;IAoLQ,4BAA2B;IAC3B,+BAA8B,EAO/B;IA5LP;MAuLU,aAAY,EACb;IAxLT;MA0LU,aAAY,EACb;EAIP;IACE,+BAAuD,EACxD;EAED;IACE,eAAc,EACf;EACA;IAEG,qCAxN0D;IAyN1D,uBAAsB;IACtB,oBAAmB,EAEpB;EANF;IASK,iBAAgB,EACnB;EAVF;IAaK,gBAAgB,EACjB;EAdJ;IAkBG,4CAxO0D;IAyO1D,uBAAsB,EACvB;EApBF;;IAuBG,2CA7O0D;IA8O1D,uBAAsB,EACvB;EAEF;IAGK,iBAAgB,EAIjB;IAPJ;MAKO,cAAa,EACd;EAIP;IACE,iBAAgB;IAChB,+BHmtC2E;IGltC3E,uBHmtC+D,EGltChE;EA/OH;IAkPI,iBA9PoB,EA+PrB;EAED;IACE,iBAAgB;IAChB,mBAAkB,EACnB;EACD;IACE,oBAAmB;IACnB,oBAAmB,EACpB;EAEA;IACC,mBAAkB,EACnB;EAED;IACE,aAAY;IACZ,iBAAgB,EACjB;EAGD;IACE,mBAAkB;IAClB,qBAAoB;IACpB,qBAAoB;IACpB,mBAAkB;IAClB,uBAAsB,EACvB;EAED;IACE,kBA7RoB;IA8RpB,yCAlS4D,EAmS7D;EAED;IACE,mBAAkB,EACnB;EAED;IACE,kBAtSoB;IAuSpB,4CA3S4D,EA+S7D;IANA;MAIG,mBAAkB,EACnB;EAEH;IACE,mBA7SoB,EA8SrB;EAED;IACE,kBAA8B;IAC9B,iBAAgB;IAChB,4CAvT4D;IAwT5D,mBAAkB;IAClB,mBAAkB,EAUnB;IAfA;MAOG,gBAAe;MACf,kBAAiB,EAMlB;MAdF;QAUK,gBAAe;QACf,kBAAiB;QACjB,eAAc,EACf;EAIL;IACE,YAAW,EACZ;EACA;IAIK,iBAAgB,EACjB;EALJ;IAOK,+BAAuD,EAExD;EAEH;IACE,gBAAe;IACf,sBAAqB;IACrB,kBAAiB;IACjB,YAAW;IACX,aAAY;IACZ,mBAAkB;IAClB,kBAAiB;IACjB,0BAAiB;IAAjB,sBAAiB;IAAjB,kBAAiB,EAKlB;IAbA;MAUG,gBAAe;MACf,WAAU,EACX;EAEH;IACE,mBAAkB,EACnB;EACD;IACE,aAAY,EACb;EACA;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAEF;IAEG,iBAAgB;IAChB,kBAAiB,EAClB;EAGJ;IAEG,oBAAmB,EACpB;EAvWL;IA0WI,oBAAmB,EAQpB;IAlXH;MA4WM,oBAAmB,EACpB;IA7WL;MAgXM,WAAU,EACX;EAEH;IACE,cAAa,EACd;EACD;IAEE,gBAAe;IACf,YAAW;IACX,WAAU,EAWX;IAfA;MAMG,eAAc,EACf;IACD;MACE,oBAAmB;MACnB,YAAW,EAIZ;MANA;QAIG,YAAW,EACZ;EAGL;IACE,kBAAiB,EAIlB;IALA;MAGG,aAAY,EACb;EAEH;IACE,aAAY,EAIb;IALA;MAGG,aAAY,EACb;EAGH;IAEE,mBAAkB;IAClB,OAAM;IACN,iBAAgB;IAChB,WAAU,EAKX;IAVA;MAOG,YAAW;MACX,iBAAgB,EACjB;EAGH;IACE,QAAO;IACP,+CAA8C,EAQ/C;IAPC;MACE,oBAAmB;MACnB,oBAAmB,EACpB;IACD;MACE,iBAAgB,EACjB;EAGH;IACE,SAAQ;IACR,gDAA+C,EAShD;IALC;MACE,mBAAkB;MAClB,qBAAoB,EACrB;EAIH;IACE,iBAAgB,EACjB;EAED;IACE,iBAAgB,EACjB;EAEA;IAEG,oBAAmB,EACpB;EAHF;IAKG,qBAAa;IAAb,cAAa;IACb,sBAAuB;IAAvB,wBAAuB;IACvB,uBAAmB;IAAnB,oBAAmB,EAIpB;IAXF;MASK,gBAAe,EAChB;EAVJ;IAaG,+BHm/ByE;IGl/BzE,uBHm/B6D;IGl/B7D,6BAA2B;IAI3B,0BAAyB;IACzB;;QAEE;IACA,sBAAqB;IACrB,kBAAiB,EAmEpB;IA3FF;MA8BK,eAAc,EACf;IA/BJ;MAiCK,mBAAkB;MAClB,iBAAgB;MAChB,aAAY;MACZ,uBAAsB;MACtB,mBAAkB;MAClB,sBAAqB;MACrB,iBAAgB,EAgBjB;MAvDJ;QAyCO,aAAY;QACZ,iBAAgB;QAChB,eA5eS,EA6eV;MA5CN;;QAgDO,kBAAiB;QACjB,eAAc;QACd,YAAW;QACX,gBAAe,EAChB;IApDN;;;;MA6DK,eAAc,EACf;IA9DJ;;MAkEK,aAAY;MACZ,gBAAe,EAChB;IApEJ;;MAuEK,sBAAqB;MACrB,WAAU;MACV,gBAAe;MACf,iBAAgB;MAGhB,uCAAyC;MACzC,+GAA8G;MAC9G,QAAO;MACP,iBAAgB;MAChB,YAAW;MACX,YAAW,EAGZ;IArFJ;MAwFS,sBAAqB,EACxB;EAzFN;IA6FG,aAAY,EACb;EA9FF;IAgGG,+BHnW4D,EGqW7D;EAlGF;IAwGG,iBAAgB,EACjB;EACD;IACE,mBAAkB,EAmCnB;IAjCC;MACE,aAAY;MACZ,mBAAkB;MAClB,aAAY;MACZ,OAAM;MAIN,YAAW;MAEX,uBAAsB;MACtB,WAAU,EAeX;MA1BA;QAcG,aAAY;QACZ,WAAU;QAEV,eAAc,EACf;MAlBF;QAoBG,oBAAkB,EACnB;MArBF;QAuBG,oBAAkB,EACnB;IAGH;MACE,mBAAkB,EAInB;MALA;QAGG,oBACF,EAAC;EAGJ;IAEG,aAAY,EACb;EAOH;IACE,YAAW;IACX,kBAAiB;IACjB,iBAAgB;IAChB,eAAa,EACd;EACD;IAEE,gBAAe;IACf,mBAAkB,EACnB;EACD;IACE,mBAAkB,EACnB;EACD;IACE,mBAAkB;IAClB,YAAW;IACX,aAAa;IACb,kBAAiB;IACjB,WAAW;IACX,SAAQ;IACR,WAAU;IACV,+BHi1ByE;IGh1BzE,mBAAkB;IAClB,gBAAe,EAKhB;IAfA;MAYG,aAAY;MACZ,eArnBW,EAsnBZ;EAEH;IACE,gBAAe;IACf,gBAAe;IAEf,gBAAe,EAKhB;IATA;MAMG,YAAW,EAEZ;EAEH;IACE,kBAAiB;IACjB,iBAAgB;IAChB,uBAAsB;IACtB,gBAAe;IACf,iBAAgB;IAChB,wBAAuB;IACvB,oBAAmB;IACnB,sBAAqB;IACrB,uBAAsB,EACvB;EACD;IACE,uBAAsB;IACtB,iBAAgB,EACjB;EAGH;IAEE,cAAY;IACZ,qBAAoB,EACrB;EAtpBH;IAypBI,aA/pBiB;IAgqBjB,kBAhqBiB;IAiqBjB,YAAU;IACV,eAAc;IACd,iBAAgB,EASjB;IAtqBH;MA+pBM,kBArqBe;MAsqBf,mBAAkB,EAKnB;MArqBL;QAkqBQ,YAxqBa;QAyqBb,aAzqBa,EA0qBd;EApqBP;IA0qBQ,mBArrBuB,EAsrBxB;EA3qBP;IAkrBU,kBA9rBc,EA+rBf;EAnrBT;IAyrBI,WAAU;IACV,YAAW,EACZ;EA3rBH;IA6rBI,cAAa,EACd;EA9rBH;IAgsBI,+BAA8B;IAC9B,mBAAkB,EACnB;EAlsBH;IAosBI,mBAAkB;IAClB,0BAAyB;IACzB,mBAAkB,EACnB;EAvsBH;IA0sBI,cAAa,EACd;EA3sBH;IA8sBI,cAAa,EACd;EA/sBH;IAktBI,aAAW,EACZ;EAntBH;IAqtBI,aAAY;IACZ,aAAY,EACb;EAvtBH;IA0tBI,gBAAe;IACf,eAAc,EACf;EA5tBH;IA8tBI,2BAAyB,EAC1B;EA/tBH;IAiuBI,sBAAqB;IACrB,kBAAiB,EAClB;;AAGH;EACE,cAAa;EAGb,kBAAiB,EAClB;;AAEC;EAEI,oBAAkB,EACnB;;AAEL;EAEI,0BAAyB,EAC1B;;AAHH;;EAMI,qCAxwB4D,EAywB7D;;AAGH;;EAEE,WAAU;EACV,+DAA8D;EAC9D,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;EACE,kEAAiE;EACjE,yBAAwB;EACxB,0BAAyB;EACzB,6BAA4B,EAC7B;;AAED;;EAEE,2BAA0B;EAC1B,8BAA6B,EAC9B;;AAED;EACE,6BAA4B;EAC5B,8BAA6B,EAC9B;;AAED;EACE;IACE,sBAAqB;IACrB,4BAA2B;IAC3B,WAAU;IACV,6BHrvB+C,EAAA;EGuvBjD;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,6BH7vB+C,EAAA;EG+vBjD;IACE,wBAAuB;IACvB,WAAU,EAAA,EAAA;;AAId;EACE;IACE,sBAAqB;IACrB,yBAAwB;IACxB,WAAU,EAAA;EAEZ;IACE,sBAAqB;IACrB,6BAA4B;IAC5B,WAAU,EAAA,EAAA;;AAId;EACE,cAAa;EACb,kBAAiB;EACjB,WAAU,EACX;;AACD;EACE,cAAa;EACb,aAAY;EACZ,sBAAsB;EACtB,yBAAyB;EACzB,wBAAuB;EACvB,eAAc;EACd,yBAAyB;EACzB,0BAA0B;EAC1B,UAAS;EACT,mBAAkB;EAClB,WAAU;EACV,SAAQ;EACR,SAAQ,EACT;;AAED;EACE,mBAAkB,EACnB;;AAED;;EAEE,oBAAmB,EACpB;;AACD;EAEI,cAAa,EACd;;AAHH;EAKI,aAAY;EACZ,gBAAe,EAChB;;AAGH;EACE,0BAAyB;EACzB,aAAY,EACb;;AAED;;EAEE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,YAAW;EACX,gBAAe,EAChB;;AAED;EACE,kBAAiB;EACjB,cAAa,EACd;;AAED;EACE,kBAAiB,EAClB;;AAED;EACE,sBAAqB,EACtB;;AAED;;EAEE,eAAc,EACf;;AAED;EACE,mBAAkB,EACnB;;AAED;EACE,oBAAmB,EAuBpB;EAxBD;IAGI,mBAAkB;IAClB,YAAW;IACX,YAAW;IACX,SAAQ;IACR,eAAc;IACd,gBAAe,EAChB;EATH;IAWI,aAAY,EACb;EAZH;IAcI,aAAY;IACZ,oBAAmB;IACnB,sBAAqB;IACrB,oBAAmB,EACpB;EAlBH;IAoBI,SAAQ;IACR,YAAW;IACX,mBAAkB,EACnB;;AAIH;EACE,YAAW;EACX,mBAAkB,EAyDnB;EA3DD;IAKI,oBAAmB,EACpB;EANH;IASI,oBAAmB,EACpB;EAVH;IAaI,cAAa,EACd;EAdH;IAiBI,kBAAiB;IACjB,mBAAkB;IAClB,WAAU;IACV,YAAW;IACX,mBAAkB,EAqCnB;IA1DH;MAwBM,eAAc;MACd,UAAS;MACT,mBAAkB;MAClB,mBAAkB,EAQnB;MAnCL;QA8BQ,WACF,EAAC;MA/BP;QAiCQ,UACF,EAAC;IAlCP;MAuCQ,oBAAmB,EACpB;IAxCP;MA0CQ,kBAAiB,EAClB;IA3CP;MA+CM,gBAAe;MACf,cAAa,EACd;IAjDL;MAoDM,mBAAkB;MAClB,WAAU;MACV,aAAY;MACZ,SAAQ;MACR,UAAS,EACV;;AAIL;EACI,cAAa,EAShB;EAVD;IAIY,kBAn+BoB;IAo+BpB,aAp+BoB;IAq+BpB,yBAAwB;IACxB,gBAAe,EAClB;;AAGT;EAEI,aA5+B4B,EA6+B7B;;AAHH;EAKI,aA/+B4B,EAg/B7B;;AANH;EASM,kBAAiB,EAClB;;AAVL;EAaI,kBAAiB,EAClB;;AAEH;EACE,mBAAkB;EAClB,YAAW;EACX,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB;EACvB,wBAAuB,EACxB;;AAED;EACE,mBAAkB;EAClB,UAAS,EACV;;AAKD;EAGM,oBAAmB,EACpB;;AAJL;EAOI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EAGM,oBAAmB,EACpB;;AAJL;EAQI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAZH;EAcI,wBAAuB;EACvB,oBAAmB;EACnB,uBAAsB;EACtB,iBAAgB,EACjB;;AAEH;EACE,mBAAkB;EAClB,aAAW,EACZ;;AAED;EAGM,kBAAiB;EACjB,0BAAyB,EAC1B;;AALL;EAUM,kBAAiB;EACjB,0BAAyB,EAC1B;;AAZL;EAiBM,cAAa,EACd;;AAIL;EAEI,oBAAmB;EACnB,wCAAuC,EACxC;;AAJH;EAOI,iCAAgC,EACjC;;AAEH;EAGM,uBAAsB;EACtB,aAAY;EACZ,kBAAiB,EAIlB;EATL;IAOQ,gBAAe,EAChB;;ACxlCP;EACE,oBAAmB,EACpB;;AAED;EACE,aAAY,EAMb;EAPD;IAII,YAAW,EACZ;;AAGH;EACE,cAAa;EACb,YAAW;EACX,oBAAmB;EACnB,sBAAqB,EAKtB;EATD;IAMI,oBAAmB;IACnB,sBAAqB,EACtB;;AC1CH;EAEQ,oBAAmB,EACtB;;AAHL;EAKQ,oBAAmB,EACtB;;ACNL;EAEQ,mBAAkB,EACrB;;ACHL;EAEQ,iBAAgB;EAChB,oBAAmB,EACtB;;ACJL;EAIQ,UAAS,EAIV;EARP;IAMU,kBAAiB,EAClB;;AAPT;EAcM,iBAAgB,EAMjB;EApBL;IAiBQ,gBAAe;IACf,kBAAiB,EAClB;;AAnBP;;EAwBM,aAAY,EACb;;AAzBL;EA6BI,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AAhCH;EAmCI,kBAAiB;EACjB,mBAAkB,EAenB;EAnDH;IAuCM,aAAY;IACZ,0BAAyB;IACzB,SAAQ;IACR,aAAY;IACZ,mBAAkB;IAClB,SAAQ;IACR,WAAU,EACX;EA9CL;IAiDM,eACF,EAAC;;AAlDL;EAqDI,+BAA8B,EAC/B;;AAtDH;EAyDI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AA7DH;EAgEI,wBAAuB,EACxB;;AAGH;EAEI,eAAc,EACf;;ACvEH;EAGM,iBAAgB,EAUjB;EAbL;IAMQ,kBAAiB;IACjB,gBAAe,EAKhB;IAZP;MAUU,sBAAqB,EACtB;;AAXT;EAgBM,aAAY,EACb;;AAjBL;EAqBQ,kBAAiB,EAClB;;AAtBP;;EA2BM,aAAY,EACb;;AA5BL;EAgCI,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AAnCH;EAsCI,iBAAgB,EAQjB;EA9CH;IAwCM,uBAAsB;IACtB,aAAY,EAIb;IA7CL;MA2CQ,sBAAqB,EACtB;;AA5CP;EAiDI,+BAA8B,EAC/B;;AAlDH;EAqDI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AAGH;EAEI,eAAc,EACf;;AC/DH;EAGI,gBAAe;EACf,oBAAmB,EACpB;;AALH;EAQI,iBAAgB,EACjB;;AATH;EAYI,gBAAe,EAChB;;AAbH;EAgBI,eAAc;EACd,YAAW;EACX,aAAY;EACZ,oBAAmB,EACpB;;AApBH;EAuBI,wBAAuB,EACxB;;AAxBH;EA2BI,eAAc;EACd,YAAW;EACX,kBAAiB;EACjB,aAAY;EACZ,uBAAsB;EACtB,oBAAmB;EACnB,gBAAe;EACf,aAAY;EACZ,kBAAiB,EAKlB;EAxCH;IAqCM,WAAU;IACV,WAAU,EACX;;AAvCL;EA2CI,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AAGH;EACE,yBAAwB,EAKzB;EAND;IAII,eAAc,EACf;;AAEH;EACE,kBAAiB,EAClB;;AC3DD;EAGI,mBAAkB,EAOnB;EAVH;IAOQ,kBAAiB,EAClB;;AARP;EAcM,0BAAyB,EAC1B;;AAfL;EAkBQ,iBAAgB,EAMjB;EAxBP;IAqBU,gBAAe;IACf,kBAAiB,EAClB;;AAvBT;;EA4BQ,aAAY,EACb;;AA7BP;EAiCM,uBAAsB;EACtB,kBAAiB;EACjB,mBAAkB,EACnB;;AApCL;EAuCM,kBAAiB;EACjB,mBAAkB,EAenB;EAvDL;IA2CQ,aAAY;IACZ,0BAAyB;IACzB,SAAQ;IACR,aAAY;IACZ,mBAAkB;IAClB,SAAQ;IACR,WAAU,EACX;EAlDP;IAqDQ,eACF,EAAC;;AAtDP;EA0DM,+BAA8B,EAC/B;;AA3DL;EA8DM,aAAY;EACZ,mBAAkB;EAClB,aAAY;EACZ,OAAM;EACN,QAAO;EACP,kBAAiB;EACjB,oBAAmB;EACnB,sDAAqD,EACtD;;AAtEL;EAyEM,mBAAkB;EAClB,SAAQ;EACR,eAAc;EACd,gBAAe,EAChB;;AA7EL;EAgFM,wBAAuB,EACxB;;AAIL;EAEI,eAAc,EACf;;ACxFH;EAGY,gBAAe;EACf,mBAAkB;EAClB,kBAAiB,EACpB;;AANT;EAYgB,oBAAmB,EAC1B;;ACbT;EAEQ,gBAAe,EAClB;;;ACHL;EAEQ,oBAAmB,EACtB;;AAHL;EAKQ,qBAAa;EAAb,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB,EAC1B","file":"demo.css","sourcesContent":["@charset \"UTF-8\";\n/* FormGroup */\n/* Navlayout */\n/* FormGroup */\n/* Navlayout */\n/**\r\n * 加载背景\r\n */\n/**\r\n * 文字\r\n */\n.u-loading-desc {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n font-size: 14px;\n color: #212121;\n text-align: center; }\n\n/**\r\n * default样式 单个圆圈加载\r\n */\n.u-loading.u-loading-rotate > div {\n position: absolute;\n border-radius: 100%;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n width: 40px;\n height: 40px;\n top: 50%;\n left: 50%;\n margin-left: -22px;\n margin-top: -22px;\n background: transparent !important;\n display: inline-block;\n -webkit-animation: rotate 1s 0s linear infinite;\n animation: rotate 1s 0s linear infinite;\n text-align: center;\n line-height: 40px; }\n .u-loading.u-loading-rotate > div > img {\n width: 40px; }\n .u-loading.u-loading-rotate > div > .uf {\n color: #0084ff;\n font-size: 40px;\n padding: 0; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-lg > div {\n margin-left: -35px;\n margin-top: -35px;\n width: 60px;\n height: 60px;\n line-height: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > img {\n width: 60px; }\n .u-loading.u-loading-rotate.u-loading-rotate-lg > div > .uf {\n font-size: 60px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-sm > div {\n margin-left: -15px;\n margin-top: -15px;\n width: 25px;\n height: 25px;\n line-height: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > img {\n width: 25px; }\n .u-loading.u-loading-rotate.u-loading-rotate-sm > div > .uf {\n font-size: 25px; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-primary > div > .uf {\n color: #3f51b5; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-success > div > .uf {\n color: #4caf50; }\n\n.u-loading.u-loading-rotate.u-loading-rotate-warning > div > .uf {\n color: #ff9800; }\n\n.u-loading-backdrop {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1900;\n background-color: rgba(255, 255, 255, 0.4); }\n .u-loading-backdrop.full-screen {\n position: fixed; }\n\n@keyframes rotate {\n 0% {\n -webkit-transform: rotate(0deg) scale(1);\n transform: rotate(0deg) scale(1); }\n 50% {\n -webkit-transform: rotate(180deg) scale(1);\n transform: rotate(180deg) scale(1); }\n 100% {\n -webkit-transform: rotate(360deg) scale(1);\n transform: rotate(360deg) scale(1); } }\n\n.u-loading.u-loading-line {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -30px;\n margin-left: -25px; }\n .u-loading.u-loading-line > div {\n background-color: #C2C3C5;\n width: 6px;\n height: 50px;\n border-radius: 2px;\n margin: 2px;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n display: inline-block; }\n .u-loading.u-loading-line.u-loading-line-lg {\n margin-top: -50px;\n margin-left: -30px; }\n .u-loading.u-loading-line.u-loading-line-lg > div {\n width: 8px;\n height: 90px; }\n .u-loading.u-loading-line.u-loading-line-sm {\n margin-top: -22px;\n margin-left: -20px; }\n .u-loading.u-loading-line.u-loading-line-sm > div {\n width: 4px;\n height: 35px; }\n .u-loading.u-loading-line div:nth-child(1) {\n -webkit-animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #F44336; }\n .u-loading.u-loading-line div:nth-child(2) {\n -webkit-animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #7ED321; }\n .u-loading.u-loading-line div:nth-child(3) {\n -webkit-animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #0084FF; }\n .u-loading.u-loading-line div:nth-child(4) {\n -webkit-animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #FF9800; }\n .u-loading.u-loading-line div:nth-child(5) {\n -webkit-animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n animation: line-scale 1s 0.5s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);\n background-color: #D0021B; }\n .u-loading.u-loading-line.u-loading-line-primary > div {\n background-color: #3f51b5; }\n .u-loading.u-loading-line.u-loading-line-success > div {\n background-color: #4caf50; }\n .u-loading.u-loading-line.u-loading-line-warning > div {\n background-color: #ff9800; }\n\n.u-loading.u-loading-custom > div {\n position: absolute;\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n\n@keyframes line-scale {\n 0% {\n -webkit-transform: scaley(1);\n transform: scaley(1); }\n 50% {\n -webkit-transform: scaley(0.4);\n transform: scaley(0.4); }\n 100% {\n -webkit-transform: scaley(1);\n transform: scaley(1); } }\n\n.u-table {\n font-size: 12px;\n color: #212121;\n position: relative;\n line-height: 1.33;\n overflow: hidden; }\n .u-table-body {\n position: relative; }\n .u-table-body .u-table-row-expand-columns-in-body .expand-icon-con {\n display: none;\n pointer-events: none; }\n .u-table-hiden-drag {\n position: relative; }\n .u-table-hiden-drag-li {\n position: absolute;\n top: 0px;\n left: 0px; }\n .u-table table {\n width: 100%;\n border-collapse: collapse;\n text-align: left; }\n .u-table th {\n font-weight: bold;\n text-align: left;\n line-height: 16px; }\n .u-table th[colspan] {\n text-align: center; }\n .u-table th ::last-child {\n overflow: hidden; }\n .u-table td {\n border-bottom: 1px solid rgb(193, 199, 208);\n line-height: 1.33; }\n .u-table td a {\n color: #2196F3; }\n .u-table td a:hover {\n color: #1565c0; }\n .u-table td a:active {\n color: #1565c0; }\n .u-table td .u-switch-span {\n display: inline-block; }\n .u-table thead tr:last-child {\n border-bottom: 1px solid #C1C7D0; }\n .u-table tr:hover td .uf-eye {\n visibility: visible !important; }\n .u-table tr tr a {\n color: #2196F3; }\n .u-table tr tr a:hover {\n color: #1565c0; }\n .u-table tr tr a:active {\n color: #1565c0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) {\n display: flex;\n flex-direction: row-reverse; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body):nth-last-child(1):last-child {\n border-right: none; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con {\n height: 14px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .uf {\n padding: 0; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .expand-icon-con .u-table-row-expand-icon {\n width: 2px; }\n .u-table tr td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body) .u-checkbox {\n margin: 0; }\n .u-table tr td.u-table-inline-icon {\n position: relative;\n padding-right: 24px; }\n .u-table tr td.u-table-inline-icon span.u-table-inline-op-icon {\n position: absolute;\n right: 0; }\n .u-table tr td.u-table-inline-icon span.u-table-inline-op-icon .uf {\n display: block;\n vertical-align: top; }\n .u-table tr td.u-table-inline-icon span.u-table-inline-op-icon-hover {\n visibility: hidden; }\n .u-table tr.u-table-row-hover td.u-table-inline-icon span.u-table-inline-op-icon-hover {\n visibility: visible; }\n .u-table .u-table-inline-op-icon-hidden {\n visibility: hidden; }\n .u-table tr.tr-row-hover {\n background: rgb(235, 236, 240); }\n .u-table th,\n .u-table td {\n padding: 12px 8px;\n word-break: break-all; }\n .u-table th.drag-handle-column .uf,\n .u-table td.drag-handle-column .uf {\n font-size: 12px;\n line-height: 12px; }\n .u-table th.drag-handle-column.u-table-row-has-expandIcon .uf,\n .u-table td.drag-handle-column.u-table-row-has-expandIcon .uf {\n padding: 0; }\n .u-table th.text-center,\n .u-table td.text-center {\n text-align: center; }\n .u-table th.text-right,\n .u-table td.text-right {\n text-align: right; }\n .u-table th .expand-icon-con,\n .u-table td .expand-icon-con {\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n line-height: 12px; }\n .u-table th .expand-icon-con .uf,\n .u-table td .expand-icon-con .uf {\n padding: 0;\n font-size: 12px; }\n .u-table-sm td {\n padding: 8px 8px; }\n .u-table-lg td {\n padding: 16px 8px; }\n .u-table tr.filterable th {\n padding-top: 5px !important;\n padding-bottom: 5px !important; }\n .u-table tr.filterable th .filterContext {\n height: 35px; }\n .u-table tr.filterable th .u-select-selection--single {\n height: 26px; }\n .u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-scroll {\n overflow: auto; }\n .u-table-bordered table {\n border: 1px solid rgb(193, 199, 208);\n box-sizing: border-box;\n table-layout: fixed; }\n .u-table-bordered .u-table-header > table {\n border-bottom: 0; }\n .u-table-bordered .u-table-header ~ .u-table-body table, .u-table-bordered .u-table-header ~ .u-table-body-outer table {\n border-top: 0px; }\n .u-table-bordered th {\n border-bottom: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-bordered th,\n .u-table-bordered td {\n border-right: 1px solid rgb(193, 199, 208);\n box-sizing: border-box; }\n .u-table-drag-border tr th.th-can-not-drag {\n overflow: hidden; }\n .u-table-drag-border tr th.th-can-not-drag .u-table-thead-th-drag-gap {\n display: none; }\n .u-table-header {\n overflow: hidden;\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33); }\n .u-table.fixed-height td {\n padding: 0px 8px; }\n .u-table-fixed-header .u-table-body {\n background: #fff;\n position: relative; }\n .u-table-fixed-left .u-table-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-header:not(.u-table-hide-header) .u-table-fixed-left .u-table-body-inner {\n padding-right: 0px; }\n .u-table-fixed-header .u-table-body-inner {\n height: 100%;\n overflow: scroll; }\n .u-table-fixed-header .u-table-scroll .u-table-header {\n overflow-x: scroll;\n padding-bottom: 20px;\n margin-bottom: -20px;\n overflow-y: scroll;\n box-sizing: border-box; }\n .u-table-title {\n padding: 12px 8px;\n border-top: 1px solid rgb(193, 199, 208); }\n .u-table-content {\n position: relative; }\n .u-table-footer {\n padding: 12px 8px;\n border-bottom: 1px solid rgb(193, 199, 208); }\n .u-table-footer .u-table-scroll {\n overflow-x: hidden; }\n .u-table-footer .u-table {\n margin: -12px -8px; }\n .u-table-placeholder {\n padding: 12px 8px;\n background: #fff;\n border-bottom: 1px solid rgb(193, 199, 208);\n text-align: center;\n position: relative; }\n .u-table-placeholder .table-nodata {\n font-size: 40px;\n line-height: 44px; }\n .u-table-placeholder .table-nodata + span {\n font-size: 12px;\n line-height: 12px;\n display: block; }\n .u-table-expand-icon-col {\n width: 10px; }\n .u-table-row .u-table tr, .u-table-expanded-row .u-table tr {\n background: #fff; }\n .u-table-row .u-table tr.u-table-row-hover, .u-table-expanded-row .u-table tr.u-table-row-hover {\n background: rgb(235, 236, 240); }\n .u-table-row-expand-icon, .u-table-expanded-row-expand-icon {\n cursor: pointer;\n display: inline-block;\n margin-right: 8px;\n width: 14px;\n height: 14px;\n text-align: center;\n line-height: 14px;\n user-select: none; }\n .u-table-row-expand-icon.uf, .u-table-expanded-row-expand-icon.uf {\n font-size: 12px;\n padding: 0; }\n .u-table-row-spaced, .u-table-expanded-row-spaced {\n visibility: hidden; }\n .u-table-row-spaced:after, .u-table-expanded-row-spaced:after {\n content: \".\"; }\n .u-table-row-expanded:after, .u-table-expanded-row-expanded:after {\n content: \"\\e639\";\n font-family: \"uf\"; }\n .u-table-row-collapsed:after, .u-table-expanded-row-collapsed:after {\n content: \"\\e61c\";\n font-family: \"uf\"; }\n .u-table-row.selected {\n background: #FFF7E7; }\n .u-table tr.u-table-expanded-row {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row:hover {\n background: #DFE1E6; }\n .u-table tr.u-table-expanded-row .u-table {\n z-index: 1; }\n .u-table-column-hidden {\n display: none; }\n .u-table-prev-columns-page, .u-table-next-columns-page {\n cursor: pointer;\n color: #666;\n z-index: 1; }\n .u-table-prev-columns-page:hover, .u-table-next-columns-page:hover {\n color: #2db7f5; }\n .u-table-prev-columns-page-disabled, .u-table-next-columns-page-disabled {\n cursor: not-allowed;\n color: #999; }\n .u-table-prev-columns-page-disabled:hover, .u-table-next-columns-page-disabled:hover {\n color: #999; }\n .u-table-prev-columns-page {\n margin-right: 8px; }\n .u-table-prev-columns-page:before {\n content: \"<\"; }\n .u-table-next-columns-page {\n float: right; }\n .u-table-next-columns-page:before {\n content: \">\"; }\n .u-table-fixed-left, .u-table-fixed-right {\n position: absolute;\n top: 0;\n overflow: hidden;\n z-index: 1; }\n .u-table-fixed-left table, .u-table-fixed-right table {\n width: auto;\n background: #fff; }\n .u-table-fixed-left {\n left: 0;\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-left-body-inner {\n margin-right: -20px;\n padding-right: 20px; }\n .u-table-fixed-left-fixed-header .u-table-fixed-left .u-table-fixed-left-body-inner {\n padding-right: 0; }\n .u-table-fixed-right {\n right: 0;\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1); }\n .u-table-fixed-right-expanded-row {\n color: transparent;\n pointer-events: none; }\n .u-table-scroll-position-left .u-table-fixed-left {\n box-shadow: none; }\n .u-table-scroll-position-right .u-table-fixed-right {\n box-shadow: none; }\n .u-table-thead .filter-text, .u-table-thead .filter-dropdown, .u-table-thead .filter-date {\n font-weight: normal; }\n .u-table-thead .filter-wrap {\n display: flex;\n justify-content: center;\n align-items: center; }\n .u-table-thead .filter-wrap .filter-btns {\n min-width: 58px; }\n .u-table-thead th {\n background: rgb(241, 242, 245);\n color: rgb(33, 33, 33);\n background-clip: padding-box;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n /*\n Introduced in IE 10. \n */\n -ms-user-select: none;\n user-select: none; }\n .u-table-thead th .required {\n color: #F22C1D; }\n .u-table-thead th .bee-table-column-sorter {\n position: relative;\n margin-left: 4px;\n height: 16px;\n vertical-align: middle;\n text-align: center;\n display: inline-block;\n margin-top: -3px; }\n .u-table-thead th .bee-table-column-sorter i {\n padding: 0px;\n font-weight: 600;\n color: #505F79; }\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-down,\n .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-up, .u-table-thead th .bee-table-column-sorter > .bee-table-column-sorter-flat {\n line-height: 16px;\n display: block;\n width: 34px;\n cursor: pointer; }\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-down.on .uf-triangle-up,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter-up.on .uf-triangle-up {\n color: #108ee9; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n -webkit-filter: none;\n filter: none;\n font-size: 12px; }\n .u-table-thead th .bee-table-column-sorter .uf-triangle-down,\n .u-table-thead th .bee-table-column-sorter .uf-triangle-up {\n display: inline-block;\n padding: 0;\n font-size: 12px;\n font-size: 8px\\9;\n -webkit-transform: scale(0.66667) rotate(0deg);\n -ms-transform: scale(0.66667) rotate(0deg);\n transform: scale(0.66667) rotate(0deg);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n zoom: 1;\n line-height: 4px;\n height: 4px;\n color: #999; }\n .u-table-thead th:hover .bee-table-column-sorter {\n display: inline-block; }\n .u-table-thead .th-drag {\n cursor: move; }\n .u-table-thead .th-drag:hover {\n background: rgb(235, 236, 240); }\n .u-table-thead .th-drag-hover {\n background: #ccc; }\n .u-table-thead-th {\n position: relative; }\n .u-table-thead-th-drag-gap {\n height: 100%;\n position: absolute;\n right: -10px;\n top: 0;\n width: 20px;\n box-sizing: border-box;\n z-index: 1; }\n .u-table-thead-th-drag-gap .online {\n height: 100%;\n width: 4px;\n margin: 0 auto; }\n .u-table-thead-th-drag-gap .online:hover {\n background: #000000; }\n .u-table-thead-th-drag-gap .online-hover {\n background: #000000; }\n .u-table-thead-th-drag-gap:hover {\n cursor: col-resize; }\n .u-table-thead-th-drag-gap:hover .online {\n background: #000000; }\n .u-table-thead-th:last-child-drag-gap {\n border: none; }\n .u-table-filter-column-pop-cont {\n margin: 0px;\n max-height: 300px;\n overflow-y: auto;\n color: #212121; }\n .u-table-filter-column-clear-setting {\n cursor: pointer;\n margin-bottom: 4px; }\n .u-table-filter-column-cont {\n position: relative; }\n .u-table-filter-column-filter-icon {\n position: absolute;\n width: 30px;\n height: 39px;\n line-height: 39px;\n right: 0px;\n top: 1px;\n z-index: 2;\n background: rgb(241, 242, 245);\n text-align: center;\n cursor: pointer; }\n .u-table-filter-column-filter-icon i.uf {\n padding: 0px;\n color: #505F79; }\n .u-table-filter-column-pop-cont-item {\n margin-top: 8px;\n font-size: 12px;\n cursor: pointer; }\n .u-table-filter-column-pop-cont-item .u-checkbox {\n margin: 0px; }\n .u-table-filter-column-pop-cont-item span.drop-menu-title {\n margin-left: -3px;\n max-width: 132px;\n width: auto !important;\n min-width: 56px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle; }\n .u-table-filter-column-pop .u-modal-dialog {\n border: 1px solid #ccc;\n background: #fff; }\n .u-table-row-fixed-columns-in-body {\n display: none;\n pointer-events: none; }\n .u-table .u-checkbox {\n height: 14px;\n line-height: 14px;\n margin: 0px;\n display: block;\n margin-left: 5px; }\n .u-table .u-checkbox .u-checkbox-label {\n line-height: 14px;\n padding-left: 16px; }\n .u-table .u-checkbox .u-checkbox-label:before, .u-table .u-checkbox .u-checkbox-label:after {\n width: 14px;\n height: 14px; }\n .u-table .u-table-scroll tr td:first-child, .u-table .u-table-scroll tr th:first-child, .u-table .u-table-fixed-left tr td:first-child, .u-table .u-table-fixed-left tr th:first-child {\n padding-left: 12px; }\n .u-table.has-fixed-left .u-table-scroll tr td:first-child, .u-table.has-fixed-left .u-table-scroll tr th:first-child {\n padding-left: 8px; }\n .u-table ::-webkit-scrollbar {\n width: 8px;\n height: 8px; }\n .u-table ::-webkit-scrollbar-button {\n display: none; }\n .u-table ::-webkit-scrollbar-thumb {\n background: #d5d5d5 !important;\n border-radius: 5px; }\n .u-table ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #d5d5d5;\n position: absolute; }\n .u-table ::-webkit-scrollbar-track {\n display: none; }\n .u-table ::-webkit-scrollbar-track-piece {\n display: none; }\n .u-table .row-dragg-able {\n cursor: move; }\n .u-table .u-table-drag-hidden-cont {\n width: 100px;\n height: 40px; }\n .u-table .u-table-link {\n cursor: pointer;\n color: #0073E1; }\n .u-table .u-table-link-underline:hover {\n text-decoration: underline; }\n .u-table .u-table-currency {\n display: inline-block;\n text-align: right; }\n\n.u-table:focus {\n outline: none;\n box-shadow: 0 0 0; }\n\n.u-table-bordered .u-table-drag-gap {\n background: #e9e9e9; }\n\n.u-table.bordered table {\n border-collapse: collapse; }\n\n.u-table.bordered th,\n.u-table.bordered td {\n border: 1px solid rgb(193, 199, 208); }\n\n.move-enter,\n.move-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n animation-duration: 2.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-leave {\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-play-state: paused; }\n\n.move-enter.move-enter-active,\n.move-appear.move-enter-active {\n animation-name: moveLeftIn;\n animation-play-state: running; }\n\n.move-leave.move-leave-active {\n animation-name: moveRightOut;\n animation-play-state: running; }\n\n@keyframes moveLeftIn {\n 0% {\n transform-origin: 0 0;\n transform: translateX(30px);\n opacity: 0;\n background: rgb(238,238,238); }\n 20% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 80% {\n background: rgb(238,238,238); }\n 100% {\n background: transparent;\n opacity: 1; } }\n\n@keyframes moveRightOut {\n 0% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1; }\n 100% {\n transform-origin: 0 0;\n transform: translateX(-30px);\n opacity: 0; } }\n\n.formItem-style {\n height: unset;\n min-height: unset;\n padding: 0; }\n\n.errMessage-style {\n display: none;\n border: none;\n /* margin-top: 5px; */\n /* margin-bottom: 5px; */\n background: transparent;\n color: #f22c1d;\n /* padding-left: 12px; */\n /* padding-right: 12px; */\n margin: 0;\n position: absolute;\n padding: 0;\n top: 3px;\n right: 0; }\n\n.editable-cell {\n position: relative; }\n\n.editable-cell-input-wrapper,\n.editable-cell-text-wrapper {\n padding-right: 24px; }\n\n.editable-cell-input-wrapper .u-form-item.formItem-style .u-label {\n display: none; }\n\n.editable-cell-input-wrapper .u-input-group .u-form-control {\n height: 26px;\n font-size: 12px; }\n\n.editable-cell-text-wrapper {\n padding: 5px 24px 5px 5px;\n height: 30px; }\n\n.editable-cell-icon,\n.editable-cell-icon-check {\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n cursor: pointer; }\n\n.editable-cell-icon {\n line-height: 28px;\n display: none; }\n\n.editable-cell-icon-check {\n line-height: 28px; }\n\n.editable-cell:hover .editable-cell-icon {\n display: inline-block; }\n\n.editable-cell-icon:hover,\n.editable-cell-icon-check:hover {\n color: #2db7f5; }\n\n.editable-add-btn {\n margin-bottom: 8px; }\n\n.search-component {\n margin-bottom: 20px; }\n .search-component .empty-search {\n position: absolute;\n right: 45px;\n z-index: 20;\n top: 5px;\n color: #524e4e;\n cursor: pointer; }\n .search-component.u-input-group.simple {\n float: right; }\n .search-component.u-input-group.simple .u-form-control {\n width: 251px;\n background: #f5f5f5;\n border-color: #f5f5f5;\n border-radius: 20px; }\n .search-component.u-input-group.simple .u-input-group-btn {\n top: 3px;\n right: 20px;\n position: absolute; }\n\n.col-resize-container {\n height: 0px;\n position: relative; }\n .col-resize-container + .table-col-resizer:first-of-type {\n table-layout: fixed; }\n .col-resize-container .active-drag .icon {\n visibility: visible; }\n .col-resize-container .last-handle {\n display: none; }\n .col-resize-container .drag-handle {\n margin-left: -5px;\n position: absolute;\n z-index: 5;\n width: 10px;\n cursor: col-resize; }\n .col-resize-container .drag-handle .icon {\n color: #40b0dc;\n top: -1px;\n position: absolute;\n visibility: hidden; }\n .col-resize-container .drag-handle .icon:first-child {\n left: -2px; }\n .col-resize-container .drag-handle .icon:last-child {\n left: 6px; }\n .col-resize-container .drag-handle:hover .icon {\n visibility: visible; }\n .col-resize-container .drag-handle:hover .col-resizer {\n border: 1px solid; }\n .col-resize-container .drag-handle.disabled-drag {\n cursor: default;\n display: none; }\n .col-resize-container .drag-handle .col-resizer {\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0px;\n left: 3px; }\n\n.u-filter-dropdown-menu-wrap {\n z-index: 1800; }\n .u-filter-dropdown-menu-wrap .u-dropdown-menu li.u-dropdown-menu-item {\n line-height: 26px;\n height: 26px;\n padding: 0px 16px 0 16px;\n cursor: pointer; }\n\n.filter-wrap .u-form-control {\n height: 26px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\n height: 26px; }\n\n.filter-wrap .calendar-picker .u-input-group-btn {\n line-height: 20px; }\n\n.filter-wrap .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf {\n line-height: 12px; }\n\n.u-row-hover {\n position: absolute;\n right: 24px;\n display: none;\n align-items: center;\n justify-content: center;\n background: transparent; }\n\n.u-row-hover2 {\n position: absolute;\n left: 100; }\n\n.header-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.header-dispaly-in-row th {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.body-dispaly-in-row.u-table table {\n table-layout: fixed; }\n\n.body-dispaly-in-row td {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.body-dispaly-in-row .u-table-fieldtype {\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden; }\n\n.u-table-drag-hidden-cont {\n position: absolute;\n top: -1000px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n padding-left: 4px;\n border: 1px solid #c1c7d0; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper:hover {\n padding-left: 4px;\n border: 1px solid #a5adba; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper:focus {\n outline: none; }\n\n.u-editable-table-tp .tooltip-arrow {\n top: 1px !important;\n border-bottom-color: #F44336 !important; }\n\n.u-editable-table-tp .tooltip-inner {\n border-color: #F44336 !important; }\n\n.u-dropdown ul.u-table-inline-op-dropdowm li.u-dropdown-menu-item {\n padding: 0 20px 0 10px;\n height: 30px;\n line-height: 30px; }\n .u-dropdown ul.u-table-inline-op-dropdowm li.u-dropdown-menu-item i.uf {\n font-size: 12px; }\n\n.selected {\n background: #FFF7E7; }\n\n.demo25 {\n height: 100%; }\n .demo25 .u-table-filter-column-filter-icon {\n right: 15px; }\n\n.opt-btns .u-button {\n margin: 0 4px;\n color: #fff;\n background: #505F79;\n border-color: #505F79; }\n .opt-btns .u-button:hover, .opt-btns .u-button:active {\n background: #344563;\n border-color: #505F79; }\n\n.demo04.u-table tr:nth-child(2n) {\n background: #f7f9fb; }\n\n.demo04.u-table tr.u-table-row-hover, .demo04 .u-table tr:hover {\n background: #ebecf0; }\n\n.demo22 .opt-btns {\n margin-bottom: 8px; }\n\n.demo32 .u-table-thead th {\n padding-top: 0px;\n padding-bottom: 0px; }\n\n.demo0501 .u-table .u-row-hover .opt-btns button, .demo0501 .u-table .u-row-hover .cancel-btns button {\n margin: 0; }\n .demo0501 .u-table .u-row-hover .opt-btns button:first-child, .demo0501 .u-table .u-row-hover .cancel-btns button:first-child {\n margin-right: 8px; }\n\n.demo0501 .u-table .u-table-row td {\n padding: 5px 8px; }\n .demo0501 .u-table .u-table-row td input {\n font-size: 12px;\n padding-left: 5px; }\n\n.demo0501 .u-table .u-table-row .u-form-control,\n.demo0501 .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.demo0501 .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.demo0501 .u-table .required {\n margin-left: 10px;\n position: relative; }\n .demo0501 .u-table .required::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px; }\n .demo0501 .u-table .required span.u-input-group {\n display: block; }\n\n.demo0501 .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.demo0501 .u-table .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.demo0501 .u-table .ref-input-wrap {\n width: 160px !important; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.u-editable-table .u-table .u-table-row td {\n padding: 5px 8px; }\n .u-editable-table .u-table .u-table-row td input {\n padding-left: 5px;\n font-size: 12px; }\n .u-editable-table .u-table .u-table-row td input.error {\n border-color: #F44336; }\n\n.u-editable-table .u-table .u-table-row .editable-cell {\n height: 30px; }\n\n.u-editable-table .u-table .u-table-row-hover .editable-cell-text-wrapper {\n line-height: 19px; }\n\n.u-editable-table .u-table .u-table-row .u-form-control,\n.u-editable-table .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.u-editable-table .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.u-editable-table .u-table .editable-cell-input-wrapper {\n padding-right: 0; }\n .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap {\n width: auto !important;\n height: 30px; }\n .u-editable-table .u-table .editable-cell-input-wrapper .ref-input-wrap .u-input-group {\n display: inline-block; }\n\n.u-editable-table .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.u-editable-table .u-table .require {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.demo0503-m-b.u-modal .u-modal-body {\n padding: 16px 0;\n background: #f7f9fb; }\n\n.demo0503-m-b .u-form-group {\n overflow: hidden; }\n\n.demo0503-m-b .u-form-control {\n font-size: 12px; }\n\n.demo0503-m-b .editable-cell {\n display: block;\n float: left;\n width: 265px;\n padding-right: 25px; }\n\n.demo0503-m-b .ref-input-wrap {\n width: 240px !important; }\n\n.demo0503-m-b .u-label {\n display: block;\n float: left;\n text-align: right;\n width: 110px;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n height: 32px;\n line-height: 32px; }\n .demo0503-m-b .u-label .mast {\n padding: 0;\n color: red; }\n\n.demo0503-m-b .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.u-editable-table-tp {\n z-index: 9999 !important; }\n .u-editable-table-tp .tp-content {\n color: #F44336; }\n\n.ref-core-button .u-button:first-child {\n margin-right: 8px; }\n\n.demo0505 .toolbar-btns {\n margin-bottom: 8px; }\n .demo0505 .toolbar-btns .u-button:first-child {\n margin-right: 8px; }\n\n.demo0505 .u-table .u-row-select {\n background-color: #FFF7E7; }\n\n.demo0505 .u-table .u-table-row td {\n padding: 5px 8px; }\n .demo0505 .u-table .u-table-row td input {\n font-size: 12px;\n padding-left: 5px; }\n\n.demo0505 .u-table .u-table-row .u-form-control,\n.demo0505 .u-table .u-table-row .u-select-selection {\n height: 30px; }\n\n.demo0505 .u-table .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px; }\n\n.demo0505 .u-table .required {\n margin-left: 10px;\n position: relative; }\n .demo0505 .u-table .required::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px; }\n .demo0505 .u-table .required span.u-input-group {\n display: block; }\n\n.demo0505 .u-table .verify-cell {\n padding-right: 25px !important; }\n\n.demo0505 .u-table .edited::after {\n content: \" \";\n position: absolute;\n z-index: 999;\n top: 0;\n left: 0;\n border-width: 5px;\n border-style: solid;\n border-color: #f44336 transparent transparent #f44336; }\n\n.demo0505 .u-table .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px; }\n\n.demo0505 .u-table .ref-input-wrap {\n width: 160px !important; }\n\n.u-editable-table-tp .tp-content {\n color: #F44336; }\n\nth .drop-menu .uf {\n font-size: 12px;\n visibility: hidden;\n margin-left: 15px; }\n\nth:hover .uf {\n visibility: visible; }\n\n.expanded-table .expand-icon-con .uf {\n font-size: 12px; }\n\n\n.demo8 .u-table {\n margin-bottom: 11px; }\n\n.demo8 .u-pagination {\n display: flex;\n align-items: center;\n justify-content: center; }\n","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮()\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮()\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 16px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n\r\n\r\n$loading-icon-color: #0084ff;\r\n\r\n/**\r\n * 加载背景\r\n */\r\n//.u-loading-back{\r\n// position:relative;\r\n// text-align: center;\r\n// width:$loading-back-width;\r\n// height:$loading-back-height;\r\n// margin:0 auto;\r\n// &.light{\r\n// background: #fff;\r\n// }\r\n// &.dark{\r\n// background: #000;\r\n// }\r\n//}\r\n/**\r\n * 文字\r\n */\r\n.u-loading-desc {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n font-size: $font-size-base;\r\n color: $font-color-base;\r\n text-align: center;\r\n}\r\n\r\n\r\n/**\r\n * default样式 单个圆圈加载\r\n */\r\n\r\n.u-loading {\r\n &.u-loading-rotate {\r\n & > div {\r\n position: absolute;\r\n border-radius: 100%;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n // border: 2px solid #0084ff;\r\n // border-bottom-color: transparent;\r\n width: $loading-rotate-size;\r\n height: $loading-rotate-size;\r\n top: $loading-center-top;\r\n left: $loading-center-left;\r\n margin-left: $loading-rotate-center;\r\n margin-top: $loading-rotate-center;\r\n background: transparent !important;\r\n display: inline-block;\r\n -webkit-animation: rotate 1s 0s linear infinite;\r\n animation: rotate 1s 0s linear infinite;\r\n text-align: center;\r\n line-height: $loading-rotate-size;\r\n & > img{\r\n width: $loading-rotate-size;\r\n }\r\n & > .uf{\r\n color: $loading-icon-color;\r\n font-size: 40px;\r\n padding: 0;\r\n }\r\n }\r\n &.u-loading-rotate-lg {\r\n & > div {\r\n margin-left: $loading-rotate-center-lg;\r\n margin-top: $loading-rotate-center-lg;\r\n width: $loading-rotate-lg-size;\r\n height: $loading-rotate-lg-size;\r\n line-height: $loading-rotate-lg-size;\r\n & > img{\r\n width: $loading-rotate-lg-size;\r\n }\r\n & > .uf{\r\n font-size: 60px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-sm {\r\n & > div {\r\n margin-left:$loading-rotate-center-sm;\r\n margin-top: $loading-rotate-center-sm;\r\n width: $loading-rotate-sm-size;\r\n height:$loading-rotate-sm-size;\r\n line-height: $loading-rotate-sm-size;\r\n & > img{\r\n width: $loading-rotate-sm-size;\r\n }\r\n & > .uf{\r\n font-size: 25px;\r\n }\r\n }\r\n }\r\n &.u-loading-rotate-primary {\r\n & > div > .uf{\r\n color: $loading-loadprimary;\r\n // border: 2px solid $loading-loadprimary;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-success {\r\n & > div > .uf{\r\n color: $loading-loadsuccess;\r\n // border: 2px solid $loading-loadsuccess;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n &.u-loading-rotate-warning {\r\n & > div > .uf{\r\n color: $loading-loadwarn;\r\n // border: 2px solid $loading-loadwarn;\r\n // border-bottom-color: transparent;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n.u-loading-backdrop{\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 1900;\r\n // opacity: .4;\r\n // filter: blur(.5px);\r\n background-color:rgba(255,255,255,0.4);\r\n &.full-screen{\r\n position: fixed;\r\n }\r\n}\r\n\r\n@keyframes rotate {\r\n 0% {\r\n -webkit-transform: rotate(0deg) scale(1);\r\n transform: rotate(0deg) scale(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: rotate(180deg) scale(1);\r\n transform: rotate(180deg) scale(1);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg) scale(1);\r\n transform: rotate(360deg) scale(1);\r\n }\r\n}\r\n\r\n.u-loading {\r\n &.u-loading-line {\r\n position: absolute;\r\n top:$loading-center-top;\r\n left: $loading-center-left;\r\n margin-top: $loading-line-center-top;\r\n margin-left: $loading-line-center-left;\r\n & > div {\r\n background-color: #C2C3C5;\r\n width: $loading-line-width;\r\n height: $loading-line-height;\r\n border-radius: 2px;\r\n margin: 2px;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n display: inline-block;\r\n }\r\n &.u-loading-line-lg {\r\n margin-top: $loading-line-center-lg-top;\r\n margin-left: $loading-line-center-lg-left;\r\n & > div {\r\n width: $loading-line-lg-width;\r\n height: $loading-line-lg-height;\r\n }\r\n }\r\n &.u-loading-line-sm {\r\n margin-top: $loading-line-center-sm-top;\r\n margin-left: $loading-line-center-sm-left;\r\n & > div {\r\n width:$loading-line-sm-width;\r\n height: $loading-line-sm-height;\r\n }\r\n }\r\n @each $index, $anima in $loading-lineanimating {\r\n div:nth-child( #{$index} ) {\r\n -webkit-animation: $anima;\r\n animation: $anima;\r\n background-color: map_get($loading-linebackcolor, $index);\r\n }\r\n }\r\n\r\n &.u-loading-line-primary {\r\n & > div {\r\n background-color: $loading-loadprimary;\r\n }\r\n }\r\n &.u-loading-line-success {\r\n & > div {\r\n background-color: $loading-loadsuccess;\r\n }\r\n }\r\n &.u-loading-line-warning {\r\n & > div {\r\n background-color: $loading-loadwarn;\r\n }\r\n }\r\n }\r\n}\r\n.u-loading {\r\n &.u-loading-custom {\r\n & > div {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n -webkit-transform: translate(-50%,-50%);\r\n transform: translate(-50%,-50%);\r\n }\r\n }\r\n}\r\n@keyframes line-scale {\r\n 0% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n }\r\n\r\n 50% {\r\n -webkit-transform: scaley(0.4);\r\n transform: scaley(0.4);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: scaley(1);\r\n transform: scaley(1);\r\n\r\n }\r\n}\r\n","@import \"minxin-colors\";\n\n// 默认色\n$default-color: $palette-blue-grey-50;\n$default-color-dark: \"223,225,230\";\n$default-color-light: \"223,225,230\";\n\n// 主题色\n$primary-color: \"245, 60, 50\" !default;\n$primary-color-dark: \"230, 0, 18\" !default;\n$primary-color-light: \"230, 0, 18\" !default;\n\n// 字体\n$font-family-primary: \"Open Sans\", \"Helvetica Neue\", Arial, \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif !default;\n// 主字号\n$font-size-base: 14px !default;\n// 主按钮文本色\n$text-color-base: $color-dark-contrast !default; \n\n// 圆角,包括:button、select等\n$border-radius: 3px !default;\n// 边框色,包括按钮、输入框、分页\n$border-color: \"165, 173, 186\" !default;\n// 条目hover背景色,包括:select、dropdown、table、datepicker、tree、menu、calendar\n$item-hover-bg-color-base: \"235, 236, 240\" !default;\n// 条目selected背景色,包括:select、menu等\n$item-selected-bg-color-base: \"255, 247, 231\" !default;\n\n// Button 细化样式变量:\n// 次按钮背景色\n$secondary-color: $palette-blue-grey-50 !default;\n$secondary-color-dark: \"223,225,230\" !default;\n$secondary-color-light: \"223,225,230\" !default;\n// 次按钮文本色\n$button-secondary-text-color: $palette-grey-900 !default;\n\n// Table 细化样式变量:\n// 表头背景色\n$table-header-background-color: \"241, 242, 245\";\n// 表头文字颜色\n$table-header-text-color: \"33, 33, 33\";\n// 表格分割线颜色\n$table-border-color-base: \"193, 199, 208\";\n// 表格行hover背景色\n$table-row-hover-bg-color: \"235, 236, 240\";\n\n// 向下兼容\n$color-primary: $palette-blue-600 !default;\n$color-primary-dark: $palette-blue-800 !default;\n$color-primary-light: $palette-blue-400 !default;\n\n// 辅色\n$color-accent: $palette-green-600 !default;\n$color-accent-dark: $palette-green-800 !default;\n$color-accent-light: $palette-green-400 !default;\n\n\n// cyan主题\n//$color-primary: $palette-cyan-500 !default;\n//$color-primary-dark: $palette-cyan-700 !default;\n//$color-accent: $palette-light-blue-500 !default;\n\n// orange主题\n//$color-primary: $palette-orange-500 !default;\n//$color-primary-dark: $palette-orange-700 !default;\n//$color-accent: $palette-deep-orange-500 !default;\n","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\n@import \"../node_modules/bee-loading/src/Loading\";\n\n$text-color: $font-color-base;\n$font-size-base: 12px;\n$line-height: 1.33;\n// 主题定制border:\n$table-border-color: unquote(\"rgb(#{$table-border-color-base})\");\n// $table-head-background-color: #f7f7f7;\n// $table-head-text-color: #666;\n$vertical-padding: 12px;\n$horizontal-padding: 8px;\n$first-horizontal-padding: 12px;\n// $table-border-color: #e9e9e9;\n\n$table-hover-color: #E7F2FC;\n$table-move-in-color: $bg-color-base;\n$checkbox-height:14px;\n$table-th-bottom-border:#C1C7D0;\n\n$filter-form-control-height:26px;\n$table-head-font-weight: bold;\n$icon-color:#505F79;\n.u-table {\n font-size: $font-size-base;\n color: $text-color;\n // transition: opacity 0.3s ease;\n position: relative;\n line-height: $line-height;\n overflow: hidden;\n &-body{\n // overflow: hidden!important;\n position: relative;\n .u-table-row-expand-columns-in-body .expand-icon-con {\n display: none;\n pointer-events: none;\n }\n }\n &-hiden-drag{\n position: relative;\n &-li{\n position: absolute;\n top: 0px;\n left: 0px;\n // height: 10px;//这个高度先注释掉了,加上后,在火狐浏览器上会站位置。滚动条拉到最右边有错行\n }\n }\n table {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n }\n\n th {\n // background: $table-head-background-color;\n font-weight: $table-head-font-weight;\n text-align: left;\n // transition: background 0.3s ease;\n line-height: 16px;\n &[colspan] {\n text-align: center;\n }\n ::last-child{\n overflow: hidden;\n }\n }\n\n td {\n border-bottom: 1px solid $table-border-color;\n line-height: $line-height;\n a{\n color: #2196F3;\n &:hover{\n color: #1565c0;\n }\n &:active{\n color: #1565c0;\n }\n }\n .u-switch-span{\n display: inline-block\n }\n }\n thead{\n tr:last-child{\n border-bottom: 1px solid $table-th-bottom-border;\n }\n tr>th:last-child{\n // border-right: none; \n }\n }\n tr {\n // transition: all 0.3s ease;\n &:hover {\n // background: $hover-bg-color-base;\n td {\n .uf-eye{\n visibility: visible !important;\n }\n }\n }\n tr a{\n color: #2196F3;\n &:hover{\n color: #1565c0;\n }\n &:active{\n color: #1565c0;\n }\n }\n td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body){\n display: flex;\n flex-direction: row-reverse;\n &:nth-last-child(1):last-child {\n border-right: none;\n }\n .expand-icon-con {\n height: 14px;\n .uf{\n padding: 0;\n }\n .u-table-row-expand-icon {\n width: 2px;\n }\n }\n .u-checkbox {\n margin: 0;\n }\n }\n td.u-table-inline-icon{\n position: relative;\n padding-right: 24px;\n span.u-table-inline-op-icon{\n position: absolute;\n right: 0;\n .uf{\n display: block;\n vertical-align: top;\n }\n }\n span.u-table-inline-op-icon-hover{\n visibility: hidden;\n }\n } \n }\n tr.u-table-row-hover{\n td.u-table-inline-icon{\n span.u-table-inline-op-icon-hover{\n visibility: visible;\n }\n }\n }\n .u-table-inline-op-icon-hidden{\n visibility: hidden;\n }\n tr.tr-row-hover {\n background: $hover-bg-color-base;\n }\n\n th,\n td {\n padding: $vertical-padding $horizontal-padding;\n word-break: break-all;\n &.drag-handle-column {\n .uf {\n font-size: 12px;\n line-height: 12px;\n }\n &.u-table-row-has-expandIcon .uf {\n padding: 0;\n }\n }\n &.text-center{\n text-align: center;\n }\n &.text-right{\n text-align: right;\n }\n .expand-icon-con{\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n line-height: 12px;\n .uf{\n padding: 0;\n font-size: 12px;\n }\n }\n }\n &-sm {\n td {\n padding: 8px $horizontal-padding;\n }\n }\n &-lg {\n td {\n padding: 16px $horizontal-padding;\n }\n }\n tr {\n \n &.filterable{\n th{\n padding-top: 5px !important;\n padding-bottom: 5px !important;\n .filterContext{\n height: 35px;\n }\n .u-select-selection--single{\n height: 26px;\n }\n }\n }\n }\n &-row-hover {\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\n }\n \n &-scroll {\n overflow: auto;\n }\n &-bordered {\n table {\n border: 1px solid $table-border-color;\n box-sizing: border-box;\n table-layout: fixed;\n // width:auto;\n }\n \n .u-table-header>table {\n border-bottom: 0;\n }\n .u-table-header~.u-table-body,.u-table-header~.u-table-body-outer{\n table{\n border-top: 0px ;\n }\n }\n\n th {\n border-bottom: 1px solid $table-border-color;\n box-sizing: border-box;\n }\n th,\n td {\n border-right: 1px solid $table-border-color;\n box-sizing: border-box;\n }\n }\n &-drag-border{\n tr {\n th.th-can-not-drag{ //拖拽tag影响了表格整体宽度\n overflow: hidden;\n .u-table-thead-th-drag-gap{//最后一个非固定列不可以拖拽\n display: none;\n }\n }\n }\n }\n &-header {\n overflow: hidden;\n background: $table-head-background-color;\n color: $table-head-text-color;\n }\n\n &.fixed-height td {\n padding: 0px $horizontal-padding;\n }\n\n &-fixed-header &-body {\n background: #fff;\n position: relative;\n }\n &-fixed-left &-body-inner {\n margin-right: -20px;\n padding-right: 20px;\n }\n\n &-fixed-header:not(.u-table-hide-header) &-fixed-left &-body-inner {\n padding-right: 0px;\n }\n\n &-fixed-header &-body-inner {\n height: 100%;\n overflow: scroll;\n }\n\n\n &-fixed-header &-scroll &-header {\n overflow-x: scroll;\n padding-bottom: 20px;\n margin-bottom: -20px;\n overflow-y: scroll;\n box-sizing: border-box;\n }\n\n &-title {\n padding: $vertical-padding $horizontal-padding;\n border-top: 1px solid $table-border-color;\n }\n\n &-content {\n position: relative;\n }\n\n &-footer {\n padding: $vertical-padding $horizontal-padding;\n border-bottom: 1px solid $table-border-color;\n .u-table-scroll{\n overflow-x: hidden;\n }\n }\n &-footer & {\n margin: (-$vertical-padding) (-$horizontal-padding);\n }\n\n &-placeholder {\n padding: $vertical-padding 8px;\n background: #fff;\n border-bottom: 1px solid $table-border-color;\n text-align: center;\n position: relative;\n .table-nodata{ \n font-size: 40px; \n line-height: 44px;\n + span{\n font-size: 12px;\n line-height: 12px;\n display: block;\n }\n }\n }\n\n &-expand-icon-col {\n width: 10px;\n }\n &-row,\n &-expanded-row {\n .u-table{\n tr{\n background: #fff;\n }\n tr.u-table-row-hover{\n background:unquote(\"rgb(#{$table-row-hover-bg-color})\");\n \n }\n }\n &-expand-icon {\n cursor: pointer;\n display: inline-block;\n margin-right: 8px;\n width: 14px;\n height: 14px;\n text-align: center;\n line-height: 14px;\n user-select: none;\n &.uf{\n font-size: 12px;\n padding: 0;\n }\n }\n &-spaced {\n visibility: hidden;\n }\n &-spaced:after {\n content: \".\";\n }\n &-expanded {\n &:after {\n content: \"\\e639\";\n font-family: \"uf\";\n }\n }\n &-collapsed {\n &:after {\n content: \"\\e61c\";\n font-family: \"uf\";\n }\n }\n }\n &-row{\n &.selected{\n background: #FFF7E7;\n }\n }\n tr.u-table-expanded-row {\n background: #DFE1E6;\n &:hover {\n background: #DFE1E6;\n }\n .u-table {\n // padding: 0 40px 0 20px;\n z-index: 1;\n }\n }\n &-column-hidden {\n display: none;\n }\n &-prev-columns-page,\n &-next-columns-page {\n cursor: pointer;\n color: #666;\n z-index: 1;\n &:hover {\n color: #2db7f5;\n }\n &-disabled {\n cursor: not-allowed;\n color: #999;\n &:hover {\n color: #999;\n }\n }\n }\n &-prev-columns-page {\n margin-right: 8px;\n &:before {\n content: \"<\";\n }\n }\n &-next-columns-page {\n float: right;\n &:before {\n content: \">\";\n }\n }\n\n &-fixed-left,\n &-fixed-right {\n position: absolute;\n top: 0;\n overflow: hidden;\n z-index: 1;\n table {\n width: auto;\n background: #fff;\n }\n }\n\n &-fixed-left {\n left: 0;\n box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1);\n &-body-inner {\n margin-right: -20px;\n padding-right: 20px;\n }\n &-fixed-header & &-body-inner {\n padding-right: 0;\n }\n }\n\n &-fixed-right {\n right: 0;\n box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1);\n\n // hide expand row content in right fixed Table\n // https://github.com/ant-design/ant-design/issues/1898\n &-expanded-row {\n color: transparent;\n pointer-events: none;\n }\n \n }\n \n &-scroll-position-left &-fixed-left {\n box-shadow: none;\n }\n\n &-scroll-position-right &-fixed-right {\n box-shadow: none;\n }\n\n &-thead{\n .filter-text,.filter-dropdown,.filter-date {\n font-weight: normal;\n }\n .filter-wrap{\n display: flex;\n justify-content: center;\n align-items: center;\n .filter-btns{\n min-width: 58px;\n }\n }\n th{\n background: $table-head-background-color;\n color: $table-head-text-color;\n background-clip:padding-box;\n //禁止选中文字\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none; \n /*\n Introduced in IE 10. \n */\n -ms-user-select: none;\n user-select: none;\n\n // overflow: hidden;\n // white-space: nowrap;\n // text-overflow: ellipsis;\n .required {\n color: #F22C1D;\n }\n .bee-table-column-sorter {\n position: relative;\n margin-left: 4px;\n height: 16px;\n vertical-align: middle;\n text-align: center;\n display: inline-block;\n margin-top: -3px;\n i{\n padding: 0px;\n font-weight: 600;\n color: $icon-color;\n }\n \n & > .bee-table-column-sorter-down,\n & > .bee-table-column-sorter-up, & > .bee-table-column-sorter-flat {\n line-height: 16px;\n display: block;\n width: 34px;\n cursor: pointer;\n }\n \n \n }\n\n .bee-table-column-sorter-down.on .uf-triangle-down,\n .bee-table-column-sorter-down.on .uf-triangle-up,\n .bee-table-column-sorter-up.on .uf-triangle-down,\n .bee-table-column-sorter-up.on .uf-triangle-up {\n color: #108ee9;\n }\n .bee-table-column-sorter .uf-triangle-down,\n .bee-table-column-sorter .uf-triangle-up {\n -webkit-filter: none;\n filter: none;\n font-size: 12px;\n }\n .bee-table-column-sorter .uf-triangle-down,\n .bee-table-column-sorter .uf-triangle-up {\n display: inline-block;\n padding: 0;\n font-size: 12px;\n font-size: 8px\\9;\n -webkit-transform: scale(0.66666667) rotate(0deg);\n -ms-transform: scale(0.66666667) rotate(0deg);\n transform: scale(0.66666667) rotate(0deg);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n zoom: 1;\n line-height: 4px;\n height: 4px;\n color: #999;\n // -webkit-transition: all 0.3s;\n // transition: all 0.3s;\n }\n &:hover{\n .bee-table-column-sorter {\n display: inline-block;\n }\n }\n }\n .th-drag{\n cursor: move;\n }\n .th-drag:hover{\n background: $hover-bg-color-base;\n\n }\n //为了区分是拖拽宽度还是交换列,先注释上面了\n // .th-drag:hover{\n // background:#ccc;\n // }\n .th-drag-hover{ \n background: #ccc;\n }\n &-th{\n position: relative;\n\n &-drag-gap{\n height: 100%;\n position: absolute;\n right: -10px;\n top: 0;\n // background:transparent;\n // width: 1px;\n // background:#ccc;\n width: 20px;\n \n box-sizing: border-box;\n z-index: 1;\n\n .online{\n height: 100%;\n width: 4px;\n // background:transparent;//兼容火狐浏览器,如果table设置border,\n margin: 0 auto;\n }\n .online:hover{\n background:#000000;\n }\n .online-hover{\n background:#000000;\n }\n \n }\n &-drag-gap:hover{\n cursor: col-resize;\n .online{\n background: #000000\n }\n }\n }\n &-th:last-child {\n &-drag-gap{\n border: none;\n }\n }\n }\n\n\n &-filter-column{\n \n &-pop-cont{\n margin: 0px;\n max-height: 300px;\n overflow-y: auto;\n color:#212121;\n }\n &-clear-setting{ \n // border-bottom: 1px solid #ccc;\n cursor: pointer;\n margin-bottom: 4px;\n }\n &-cont{\n position: relative;\n }\n &-filter-icon{\n position: absolute;\n width: 30px;\n height: 39px ;\n line-height: 39px;\n right: 0px ;\n top:1px ;\n z-index: 2;\n background: $table-head-background-color;\n text-align: center;\n cursor: pointer;\n i.uf{\n padding: 0px;\n color: $icon-color;\n }\n }\n &-pop-cont-item{\n margin-top: 8px;\n font-size: 12px;\n // line-height: 30px;\n cursor: pointer;\n .u-checkbox {\n margin: 0px;\n\n }\n }\n &-pop-cont-item span.drop-menu-title{\n margin-left: -3px;\n max-width: 132px;\n width: auto !important;\n min-width: 56px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle;\n }\n &-pop .u-modal-dialog{\n border: 1px solid #ccc;\n background: #fff;\n }\n }\n //拖拽宽度代码\n &-row-fixed-columns-in-body{\n // visibility: hidden;\n display:none;\n pointer-events: none;\n }\n //固定列含有checkbox 样式复写\n .u-checkbox {\n height: $checkbox-height;\n line-height: $checkbox-height;\n margin:0px;\n display: block;\n margin-left: 5px;\n .u-checkbox-label{\n line-height: $checkbox-height;\n padding-left: 16px;\n &:before,&:after {\n width: $checkbox-height;\n height: $checkbox-height;\n }\n }\n }\n .u-table-scroll,.u-table-fixed-left{\n tr{\n td:first-child, th:first-child{\n padding-left: $first-horizontal-padding\n }\n }\n }\n &.has-fixed-left{\n .u-table-scroll{\n tr{\n td:first-child, th:first-child{\n padding-left: $horizontal-padding\n }\n }\n }\n }\n // 滚动条样式复写\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n ::-webkit-scrollbar-button {\n display: none;\n }\n ::-webkit-scrollbar-thumb {\n background: #d5d5d5 !important;\n border-radius: 5px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #d5d5d5;\n position: absolute;\n }\n\n ::-webkit-scrollbar-track {\n display: none;\n }\n\n ::-webkit-scrollbar-track-piece {\n display: none;\n }\n\n .row-dragg-able{\n cursor:move;\n }\n .u-table-drag-hidden-cont{\n width: 100px;\n height: 40px;\n }\n\n .u-table-link{\n cursor: pointer;\n color: #0073E1;\n }\n .u-table-link-underline:hover{\n text-decoration:underline;\n }\n .u-table-currency{\n display: inline-block;\n text-align: right;\n }\n}\n\n.u-table:focus{\n outline: none;\n // border-color: #9ecaed;\n // box-shadow: 0 0 10px #9ecaed;\n box-shadow: 0 0 0;\n}\n\n .u-table-bordered {\n .u-table-drag-gap{\n background:#e9e9e9;\n }\n }\n.u-table.bordered {\n table {\n border-collapse: collapse;\n }\n th,\n td {\n border: 1px solid $table-border-color;\n }\n}\n\n.move-enter,\n.move-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n animation-duration: 2.5s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n\n.move-leave {\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n\n.move-enter.move-enter-active,\n.move-appear.move-enter-active {\n animation-name: moveLeftIn;\n animation-play-state: running;\n}\n\n.move-leave.move-leave-active {\n animation-name: moveRightOut;\n animation-play-state: running;\n}\n\n@keyframes moveLeftIn {\n 0% {\n transform-origin: 0 0;\n transform: translateX(30px);\n opacity: 0;\n background: $table-move-in-color;\n }\n 20% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1;\n }\n 80% {\n background: $table-move-in-color;\n }\n 100% {\n background: transparent;\n opacity: 1;\n }\n}\n\n@keyframes moveRightOut {\n 0% {\n transform-origin: 0 0;\n transform: translateX(0);\n opacity: 1;\n }\n 100% {\n transform-origin: 0 0;\n transform: translateX(-30px);\n opacity: 0;\n }\n}\n\n.formItem-style {\n height: unset;\n min-height: unset;\n padding: 0;\n}\n.errMessage-style {\n display: none;\n border: none;\n /* margin-top: 5px; */\n /* margin-bottom: 5px; */\n background: transparent;\n color: #f22c1d;\n /* padding-left: 12px; */\n /* padding-right: 12px; */\n margin: 0;\n position: absolute;\n padding: 0;\n top: 3px;\n right: 0;\n}\n\n.editable-cell {\n position: relative;\n}\n\n.editable-cell-input-wrapper,\n.editable-cell-text-wrapper {\n padding-right: 24px;\n}\n.editable-cell-input-wrapper {\n .u-form-item.formItem-style .u-label{\n display: none;\n }\n .u-input-group .u-form-control{\n height: 26px;\n font-size: 12px;\n }\n}\n\n.editable-cell-text-wrapper {\n padding: 5px 24px 5px 5px;\n height: 30px;\n}\n\n.editable-cell-icon,\n.editable-cell-icon-check {\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n cursor: pointer;\n}\n\n.editable-cell-icon {\n line-height: 28px;\n display: none;\n}\n\n.editable-cell-icon-check {\n line-height: 28px;\n}\n\n.editable-cell:hover .editable-cell-icon {\n display: inline-block;\n}\n\n.editable-cell-icon:hover,\n.editable-cell-icon-check:hover {\n color: #2db7f5;\n}\n\n.editable-add-btn {\n margin-bottom: 8px;\n}\n\n.search-component {\n margin-bottom: 20px;\n .empty-search {\n position: absolute;\n right: 45px;\n z-index: 20;\n top: 5px;\n color: #524e4e;\n cursor: pointer;\n }\n &.u-input-group.simple {\n float: right;\n }\n &.u-input-group.simple .u-form-control {\n width: 251px;\n background: #f5f5f5;\n border-color: #f5f5f5;\n border-radius: 20px;\n }\n &.u-input-group.simple .u-input-group-btn {\n top: 3px;\n right: 20px;\n position: absolute;\n }\n}\n\n\n.col-resize-container {\n height: 0px;\n position: relative;\n\n & + .table-col-resizer:first-of-type {\n table-layout: fixed;\n }\n\n .active-drag .icon{\n visibility: visible;\n }\n\n .last-handle {\n display: none;\n }\n\n .drag-handle {\n margin-left: -5px;\n position: absolute;\n z-index: 5;\n width: 10px;\n cursor: col-resize;\n\n .icon {\n color: #40b0dc;\n top: -1px;\n position: absolute;\n visibility: hidden;\n\n &:first-child {\n left: -2px\n }\n &:last-child {\n left: 6px\n }\n }\n\n &:hover{\n .icon{\n visibility: visible;\n }\n .col-resizer {\n border: 1px solid;\n }\n }\n\n &.disabled-drag {\n cursor: default;\n display: none;\n }\n\n .col-resizer {\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0px;\n left: 3px;\n }\n }\n}\n\n.u-filter-dropdown-menu-wrap {\n z-index: 1800;\n .u-dropdown-menu {\n li.u-dropdown-menu-item {\n line-height: $filter-form-control-height;\n height: $filter-form-control-height;\n padding: 0px 16px 0 16px;\n cursor: pointer;\n }\n }\n}\n.filter-wrap {\n .u-form-control{\n height: $filter-form-control-height;\n }\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {\n height: $filter-form-control-height;\n }\n .calendar-picker {\n .u-input-group-btn{\n line-height: 20px;\n }\n }\n .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf{\n line-height: 12px;\n }\n}\n.u-row-hover{\n position: absolute;\n right: 24px;\n display: none;\n align-items: center;\n justify-content: center;\n background: transparent;\n}\n\n.u-row-hover2{\n position: absolute;\n left: 100;\n}\n\n\n\n// 表格显示里面的内容显示在一行\n.header-dispaly-in-row{\n &.u-table{\n table{\n table-layout: fixed;\n }\n }\n th{\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n }\n}\n.body-dispaly-in-row{\n &.u-table{\n table{\n table-layout: fixed;\n }\n \n }\n td{\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n }\n .u-table-fieldtype{\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n }\n}\n.u-table-drag-hidden-cont{\n position: absolute;\n top:-1000px;\n}\n\n.u-editable-table .u-table {\n .u-table-row-hover {\n .editable-cell-text-wrapper {\n padding-left: 4px;\n border: 1px solid #c1c7d0;\n }\n }\n\n .editable-cell-text-wrapper {\n &:hover {\n padding-left: 4px;\n border: 1px solid #a5adba;\n }\n }\n\n .editable-cell-input-wrapper {\n &:focus {\n outline: none;\n }\n }\n}\n\n.u-editable-table-tp {\n .tooltip-arrow {\n top: 1px !important;\n border-bottom-color: #F44336 !important;\n }\n\n .tooltip-inner {\n border-color: #F44336 !important;\n }\n}\n.u-dropdown{\n ul.u-table-inline-op-dropdowm{\n li.u-dropdown-menu-item{\n padding: 0 20px 0 10px;\n height: 30px;\n line-height: 30px;\n i.uf{\n font-size: 12px;\n }\n }\n }\n}\n","// @import \"../node_modules/tinper-bee-core/scss/index.scss\";\n// @import \"../node_modules/bee-panel/src/Panel.scss\";\n// @import \"../node_modules/bee-layout/src/Layout.scss\";\n// @import \"../node_modules/bee-button/src/Button.scss\";\n// @import \"../node_modules/bee-transition/src/Transition.scss\";\n// @import \"../node_modules/bee-popconfirm/src/Popconfirm.scss\";\n// @import \"../node_modules/bee-form-control/src/FormControl.scss\";\n// @import \"../node_modules/bee-pagination/src/Pagination.scss\";\n// @import \"../node_modules/bee-checkbox/src/Checkbox.scss\";\n// @import \"../node_modules/bee-select/src/Select.scss\";\n// @import \"../node_modules/bee-popover/src/Popover.scss\";\n// @import \"../node_modules/bee-tooltip/src/Tooltip.scss\";\n// @import \"../node_modules/bee-message/build/Message.css\";\n// @import \"../node_modules/bee-dropdown/build/Dropdown.css\";\n// @import \"../node_modules/bee-input-number/build/InputNumber.css\";\n// @import \"../node_modules/bee-modal/build/Modal.css\";\n@import \"../src/Table.scss\";\n\n\n//引入日期控件样式文件\n// @import \"../node_modules/bee-datepicker/src/datepicker.scss\";\n\n.selected{\n background: #FFF7E7;\n}\n\n.demo25{\n height: 100%;\n\n .u-table-filter-column-filter-icon{\n right: 15px;\n }\n\n}\n.opt-btns .u-button{\n margin: 0 4px;\n color: #fff;\n background: #505F79;\n border-color: #505F79;\n &:hover, &:active{\n background: #344563;\n border-color: #505F79;\n }\n}",".demo04 {\n &.u-table tr:nth-child(2n){\n background: #f7f9fb;\n }\n &.u-table tr.u-table-row-hover, .u-table tr:hover{\n background: #ebecf0;\n }\n}",".demo22{\n .opt-btns{\n margin-bottom: 8px;\n }\n}",".demo32{\n .u-table-thead th {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n}",".demo0501 .u-table {\n .u-row-hover {\n .opt-btns,.cancel-btns {\n button {\n margin: 0;\n &:first-child {\n margin-right: 8px;\n }\n }\n }\n }\n\n .u-table-row {\n td {\n padding: 5px 8px;\n\n input {\n font-size: 12px;\n padding-left: 5px;\n }\n }\n\n .u-form-control,\n .u-select-selection {\n height: 30px;\n }\n }\n\n .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px;\n }\n\n .required {\n margin-left: 10px;\n position: relative;\n\n &::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px;\n }\n\n span.u-input-group {\n display: block\n }\n }\n .verify-cell {\n padding-right: 25px !important;\n }\n\n .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n\n .ref-input-wrap {\n width: 160px !important;\n }\n}\n\n.u-editable-table-tp {\n .tp-content {\n color: #F44336;\n }\n}",".u-editable-table .u-table {\n .u-table-row {\n td {\n padding: 5px 8px;\n\n input {\n padding-left: 5px;\n font-size: 12px;\n\n &.error {\n border-color: #F44336;\n }\n }\n }\n\n .editable-cell {\n height: 30px;\n }\n\n &-hover {\n .editable-cell-text-wrapper {\n line-height: 19px;\n }\n }\n\n .u-form-control,\n .u-select-selection {\n height: 30px;\n }\n }\n\n .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px;\n }\n\n .editable-cell-input-wrapper {\n padding-right: 0;\n .ref-input-wrap {\n width: auto !important;\n height: 30px;\n .u-input-group{\n display: inline-block;\n }\n }\n }\n\n .verify-cell {\n padding-right: 25px !important;\n }\n\n .require {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n}\n\n.u-editable-table-tp {\n .tp-content {\n color: #F44336;\n }\n}",".demo0503-m-b {\n\n &.u-modal .u-modal-body {\n padding: 16px 0;\n background: #f7f9fb;\n }\n\n .u-form-group {\n overflow: hidden;\n }\n\n .u-form-control {\n font-size: 12px;\n }\n\n .editable-cell {\n display: block;\n float: left;\n width: 265px;\n padding-right: 25px;\n }\n\n .ref-input-wrap {\n width: 240px !important;\n }\n\n .u-label {\n display: block;\n float: left;\n text-align: right;\n width: 110px;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n height: 32px;\n line-height: 32px;\n .mast {\n padding: 0;\n color: red;\n }\n }\n\n .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n}\n\n.u-editable-table-tp {\n z-index: 9999 !important;\n\n .tp-content {\n color: #F44336;\n }\n}\n.ref-core-button .u-button:first-child{\n margin-right: 8px;\n}",".demo0505 {\n\n .toolbar-btns {\n margin-bottom: 8px;\n\n .u-button {\n &:first-child {\n margin-right: 8px;\n }\n }\n }\n\n .u-table {\n .u-row-select {\n background-color: #FFF7E7;\n }\n .u-table-row {\n td {\n padding: 5px 8px;\n\n input {\n font-size: 12px;\n padding-left: 5px;\n }\n }\n\n .u-form-control,\n .u-select-selection {\n height: 30px;\n }\n }\n\n .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px;\n }\n\n .required {\n margin-left: 10px;\n position: relative;\n\n &::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px;\n }\n\n span.u-input-group {\n display: block\n }\n }\n\n .verify-cell {\n padding-right: 25px !important;\n }\n\n .edited::after {\n content: \" \";\n position: absolute;\n z-index: 999;\n top: 0;\n left: 0;\n border-width: 5px;\n border-style: solid;\n border-color: #f44336 transparent transparent #f44336;\n }\n\n .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n\n .ref-input-wrap {\n width: 160px !important;\n }\n }\n}\n\n.u-editable-table-tp {\n .tp-content {\n color: #F44336;\n }\n}","th{\n .drop-menu{\n .uf{\n font-size: 12px;\n visibility: hidden;\n margin-left: 15px;\n }\n \n \n }\n &:hover{\n .uf{\n visibility: visible;\n }\n }\n\n}\n\n",".expanded-table{\r\n .expand-icon-con .uf{\r\n font-size: 12px;\r\n }\r\n}",".demo8{\n .u-table {\n margin-bottom: 11px;\n }\n .u-pagination{\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/dist/demo.js b/dist/demo.js
index addb5f1..5c388ae 100644
--- a/dist/demo.js
+++ b/dist/demo.js
@@ -80,7 +80,7 @@
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
- var Demo0101 = __webpack_require__(605);var DemoArray = [{ "example": _react2['default'].createElement(Demo0101, null), "title": " 基本表格", "code": "/**\n*\n* @title 基本表格\n* @parent 基础 Basic\n* @description 当单元格内容过多时,会自动显示省略号,鼠标hover有提示。showRowNum 设置是否显示序号列。\n* demo0101\n*/\n\nimport React, { Component } from \"react\";\nimport { Table } from 'tinper-bee';\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150,fixed: 'left', },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100,fixed: 'left',},\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 },\n];\n\nconst data = [\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\n];\n\nclass Demo0101 extends Component {\n\n onPaste=(e,positon)=>{\n console.log(positon)\n console.log('onPaste',positon)\n }\n\n render() {\n return (\n
\n );\n }\n}\n\nexport default Demo0101;\n", "desc": " 当单元格内容过多时,会自动显示省略号,鼠标hover有提示。showRowNum 设置是否显示序号列。" }];
+ var Demo0101 = __webpack_require__(605);var Demo0102 = __webpack_require__(606);var Demo0103 = __webpack_require__(607);var Demo0104 = __webpack_require__(608);var Demo0105 = __webpack_require__(609);var Demo0106 = __webpack_require__(612);var Demo0107 = __webpack_require__(613);var Demo0201 = __webpack_require__(614);var Demo0202 = __webpack_require__(615);var Demo0301 = __webpack_require__(616);var Demo0302 = __webpack_require__(617);var Demo0402 = __webpack_require__(620);var Demo0404 = __webpack_require__(623);var Demo0405 = __webpack_require__(627);var Demo0406 = __webpack_require__(629);var Demo0501 = __webpack_require__(630);var Demo0502 = __webpack_require__(632);var Demo0503 = __webpack_require__(633);var Demo0505 = __webpack_require__(634);var Demo0601 = __webpack_require__(635);var Demo0602 = __webpack_require__(636);var Demo0603 = __webpack_require__(637);var Demo0701 = __webpack_require__(638);var Demo0702 = __webpack_require__(639);var Demo0802 = __webpack_require__(640);var Demo0901 = __webpack_require__(645);var Demo0902 = __webpack_require__(646);var Demo0903 = __webpack_require__(647);var Demo1001 = __webpack_require__(648);var Demo1002 = __webpack_require__(649);var Demo1101 = __webpack_require__(650);var Demo1102 = __webpack_require__(651);var Demo1103 = __webpack_require__(652);var Demo1105 = __webpack_require__(653);var Demo1106 = __webpack_require__(654);var Demo1107 = __webpack_require__(655);var Demo1108 = __webpack_require__(656);var Demo1201 = __webpack_require__(657);var Demo1301 = __webpack_require__(660);var Demo1302 = __webpack_require__(661);var Demo1401 = __webpack_require__(667);var Demo1402 = __webpack_require__(669);var Demo1403 = __webpack_require__(670);var Demo1404 = __webpack_require__(671);var Demo1601 = __webpack_require__(672);var DemoArray = [{ "example": _react2['default'].createElement(Demo0101, null), "title": " 基本表格", "code": "/**\n*\n* @title 基本表格\n* @parent 基础 Basic\n* @description 当单元格内容过多时,会自动显示省略号,鼠标hover有提示。showRowNum 设置是否显示序号列。\n* demo0101\n*/\n\nimport React, { Component } from \"react\";\nimport { Table } from 'tinper-bee';\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\n];\n\nconst data = [\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\n];\n\nclass Demo0101 extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo0101;\n", "desc": " 当单元格内容过多时,会自动显示省略号,鼠标hover有提示。showRowNum 设置是否显示序号列。" }, { "example": _react2['default'].createElement(Demo0102, null), "title": " 默认无数据展示", "code": "/**\r\n*\r\n* @title 默认无数据展示\r\n* @parent 基础 Basic\r\n* @description 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。\r\n* demo0102\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\r\n\r\n\r\nconst columns = [\r\n {\r\n title: \"员工编号\",\r\n dataIndex: \"num\",\r\n key: \"num\",\r\n width: \"40%\"\r\n },\r\n {\r\n title: \"员工姓名\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: \"30%\"\r\n },\r\n {\r\n title: \"部门\",\r\n dataIndex: \"department\",\r\n key: \"department\"\r\n }\r\n];\r\n \r\nconst data = [];\r\n\r\n// 在此自定义无数据时的展示内容\r\nconst emptyFunc = () => 'No Data';\r\n \r\nclass Demo02 extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Demo02;", "desc": " 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。" }, { "example": _react2['default'].createElement(Demo0103, null), "title": " 固定表头", "code": "/**\r\n*\r\n* @title 固定表头\r\n* @parent 基础 Basic\r\n* @description 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。\r\n* demo0103\r\n*/\r\n\r\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\r\n\r\n\r\nconst columns03 = [\r\n {\r\n title: \"序号\",\r\n dataIndex: \"index\",\r\n key: \"index\",\r\n width: 80, \r\n render(text, record, index) {\r\n return index + 1;\r\n }\r\n },\r\n {\r\n title: \"订单编号\",\r\n dataIndex: \"orderCode\",\r\n key: \"orderCode\",\r\n width: 200, \r\n },\r\n {\r\n title: \"供应商名称\",\r\n dataIndex: \"supplierName\",\r\n key: \"supplierName\",\r\n width: 200\r\n },\r\n {\r\n title: \"类型\",\r\n dataIndex: \"type_name\",\r\n key: \"type_name\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组织\",\r\n dataIndex: \"purchasing\",\r\n key: \"purchasing\",\r\n width: 200\r\n },\r\n {\r\n title: \"采购组\",\r\n dataIndex: \"purchasingGroup\",\r\n key: \"purchasingGroup\",\r\n width: 200\r\n },\r\n {\r\n title: \"凭证日期\",\r\n dataIndex: \"voucherDate\",\r\n key: \"voucherDate\",\r\n width: 200,\r\n }\r\n];\r\n\r\nconst data03 = [\r\n { \r\n orderCode:\"NU0391025\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年03月18日\",\r\n key: \"1\"\r\n }, \r\n { \r\n orderCode:\"NU0391026\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织a', \r\n purchasingGroup:\"bb\",\r\n voucherDate:\"2018年02月05日\",\r\n key: \"2\"\r\n },\r\n { \r\n orderCode:\"NU0391027\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织b', \r\n purchasingGroup:\"aa\",\r\n voucherDate:\"2018年07月01日\",\r\n key: \"3\"\r\n },\r\n { \r\n orderCode:\"NU0391028\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"4\",\r\n purchasing:'组织c', \r\n purchasingGroup:\"cc\",\r\n voucherDate:\"2019年03月01日\",\r\n key: \"4\"\r\n },\r\n { \r\n orderCode:\"NU0391029\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"5\",\r\n purchasing:'组织d', \r\n purchasingGroup:\"ss\",\r\n voucherDate:\"2019年02月14日\",\r\n key: \"5\"\r\n },\r\n { \r\n orderCode:\"NU0391030\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"1\",\r\n purchasing:'组织e', \r\n purchasingGroup:\"zz\",\r\n voucherDate:\"2019年02月18日\",\r\n key: \"6\"\r\n },\r\n { \r\n orderCode:\"NU0391031\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"2\",\r\n purchasing:'组织f', \r\n purchasingGroup:\"qq\",\r\n voucherDate:\"2019年01月01日\",\r\n key: \"7\"\r\n },\r\n { \r\n orderCode:\"NU0391032\", \r\n supplierName: \"xx供应商\",\r\n type_name: \"3\",\r\n purchasing:'组织g', \r\n purchasingGroup:\"pp\",\r\n voucherDate:\"2019年01月31日\",\r\n key: \"8\"\r\n },\r\n];\r\n\r\nclass Demo03 extends Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport default Demo03; ", "desc": " 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。" }, { "example": _react2['default'].createElement(Demo0104, null), "title": " 隔行换色", "code": "/**\n*\n* @title 隔行换色\n* @parent 基础 Basic\n* @description 可自定义斑马线颜色\n* demo0104\n*/\n\n\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\n\n\nconst columns04 = [\n {title: \"序号\",dataIndex: \"index\",key: \"index\",width: 80, \n render(text, record, index) {\n return index + 1;\n }\n },\n {title: \"订单编号\",dataIndex: \"orderCode\",key: \"orderCode\",width: 200},\n {title: \"供应商名称\",dataIndex: \"supplierName\",key: \"supplierName\",width: 200},\n {title: \"类型\",dataIndex: \"type_name\",key: \"type_name\",width: 200},\n {title: \"采购组织\",dataIndex: \"purchasing\",key: \"purchasing\",width: 200},\n {title: \"采购组\",dataIndex: \"purchasingGroup\",key: \"purchasingGroup\",width: 200},\n {title: \"凭证日期\",dataIndex: \"voucherDate\",key: \"voucherDate\",width: 200}\n];\n\nconst data04 = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n key: \"3\"\n },\n { \n orderCode:\"NU0391028\", \n supplierName: \"xx供应商\",\n type_name: \"4\",\n purchasing:'组织c', \n purchasingGroup:\"cc\",\n voucherDate:\"2019年03月01日\",\n key: \"4\"\n },\n { \n orderCode:\"NU0391029\", \n supplierName: \"xx供应商\",\n type_name: \"5\",\n purchasing:'组织d', \n purchasingGroup:\"ss\",\n voucherDate:\"2019年02月14日\",\n key: \"5\"\n },\n { \n orderCode:\"NU0391030\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织e', \n purchasingGroup:\"zz\",\n voucherDate:\"2019年02月18日\",\n key: \"6\"\n },\n { \n orderCode:\"NU0391031\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织f', \n purchasingGroup:\"qq\",\n voucherDate:\"2019年01月01日\",\n key: \"7\"\n },\n { \n orderCode:\"NU0391032\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织g', \n purchasingGroup:\"pp\",\n voucherDate:\"2019年01月31日\",\n key: \"8\"\n },\n];\n\nclass Demo04 extends Component {\n render() {\n return \n }\n}\n\nexport default Demo04; ", "desc": " 可自定义斑马线颜色", "scss_code": ".demo04 {\n &.u-table tr:nth-child(2n){\n background: #f7f9fb;\n }\n &.u-table tr.u-table-row-hover, .u-table tr:hover{\n background: #ebecf0;\n }\n}" }, { "example": _react2['default'].createElement(Demo0105, null), "title": " 表格 Loading 加载", "code": "/**\r\n*\r\n* @title 表格 Loading 加载\r\n* @parent 基础 Basic\r\n* @description loading可以传boolean或者object对象,object为bee-loading组件的参数类型\r\n* demo0105\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip } from 'tinper-bee';\r\n\r\n\r\n\r\nconst columns05 = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\",fixed:'left'},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data05 = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo05 extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n loading : true\r\n }\r\n }\r\n changeLoading = () => {\r\n this.setState({\r\n loading : !this.state.loading\r\n })\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Demo05;\r\n", "desc": " loading可以传boolean或者object对象,object为bee-loading组件的参数类型" }, { "example": _react2['default'].createElement(Demo0106, null), "title": " 单元格内容居中", "code": "/**\n*\n* @title 单元格内容居中\n* @parent 基础 Basic\n* @description 在columns数据中设置`textAlign:'center'`,可实现单元格内容居中展示的效果。默认是居左显示。\n* demo0106\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip } from 'tinper-bee';\n\n\n\nconst columns = [\n {\n title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 120, className: \"rowClassName\",\n fixed:'left',\n textAlign:'center',\n render: (text, record, index) => {\n return (\n \n {text}\n \n );\n }\n },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100,textAlign:'center'},\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100,textAlign:'center'},\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100,textAlign:'center' },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100,textAlign:'center' }\n];\n\nconst data = [\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\n];\n\nclass Demo06 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: data\n }\n }\n handleClick = () => {\n console.log('这是第' , this.currentIndex , '行');\n console.log('内容:' , this.currentRecord);\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo06;\n", "desc": " 在columns数据中设置`textAlign:'center'`,可实现单元格内容居中展示的效果。默认是居左显示。" }, { "example": _react2['default'].createElement(Demo0107, null), "title": " 带边框", "code": "/**\n*\n* @title 带边框\n* @parent 基础 Basic\n* @description 设置 `bordered` 属性可添加表格边框线。\n* demo0107\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip } from 'tinper-bee';\n\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100},\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\n];\n\nconst data = [\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" },\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\n];\n\nclass Demo06 extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo06;\n", "desc": " 设置 `bordered` 属性可添加表格边框线。" }, { "example": _react2['default'].createElement(Demo0201, null), "title": " 横向滚动条", "code": "/**\n*\n* @title 横向滚动条\n* @parent 滚动 Scroll View\n* @description `scroll.x`的值代表表体内容的实际宽度,默认情况下是根据各列宽度合计出来的。其值超过父元素的宽度时会自动出现滚动条。如设置 `scroll={{ x:1000 }}`,可以手动添加横向滚动条,也可以设置`scroll={{ x:\"110%\" }}`。\n* demo0201\n*/\n\nimport React, { Component } from \"react\";\nimport { Table } from 'tinper-bee';\n\n\nconst columns = [\n {\n title: \"序号\",\n dataIndex: \"index\",\n key: \"index\",\n width: 100, \n render(text, record, index) {\n return index + 1;\n }\n },\n {\n title: \"订单编号\",\n dataIndex: \"orderCode\",\n key: \"orderCode\",\n width: 300, \n },\n {\n title: \"供应商名称\",\n dataIndex: \"supplierName\",\n key: \"supplierName\",\n width: 200\n },\n {\n title: \"类型\",\n dataIndex: \"type_name\",\n key: \"type_name\",\n width: 200\n },\n {\n title: \"采购组织\",\n dataIndex: \"purchasing\",\n key: \"purchasing\",\n width: 200\n },\n {\n title: \"采购组\",\n dataIndex: \"purchasingGroup\",\n key: \"purchasingGroup\",\n width: 200\n },\n {\n title: \"凭证日期\",\n dataIndex: \"voucherDate\",\n key: \"voucherDate\",\n width: 300,\n },\n {\n title: \"审批状态\",\n dataIndex: \"approvalState_name\",\n key: \"approvalState_name\",\n width: 200\n },\n {\n title: \"确认状态\",\n dataIndex: \"confirmState_name\",\n key: \"confirmState_name\",\n width: 200\n }, \n {\n title: \"关闭状态\",\n dataIndex: \"closeState_name\",\n key: \"closeState_name\",\n width: 100\n }\n];\n \nconst data = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"执行中\",\n closeState_name:\"未关闭\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"终止\",\n closeState_name:\"已关闭\",\n key: \"3\"\n },\n { \n orderCode:\"NU0391028\", \n supplierName: \"xx供应商\",\n type_name: \"4\",\n purchasing:'组织c', \n purchasingGroup:\"cc\",\n voucherDate:\"2019年03月01日\",\n approvalState_name:\"未审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"4\"\n },\n { \n orderCode:\"NU0391029\", \n supplierName: \"xx供应商\",\n type_name: \"5\",\n purchasing:'组织d', \n purchasingGroup:\"ss\",\n voucherDate:\"2019年02月14日\",\n approvalState_name:\"未审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"5\"\n }\n];\n\nclass Demo11 extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo11;\n", "desc": " `scroll.x`的值代表表体内容的实际宽度,默认情况下是根据各列宽度合计出来的。其值超过父元素的宽度时会自动出现滚动条。如设置 `scroll={{ x:1000 }}`,可以手动添加横向滚动条,也可以设置`scroll={{ x:\"110%\" }}`。" }, { "example": _react2['default'].createElement(Demo0202, null), "title": " 纵向滚动条", "code": "/**\n*\n* @title 纵向滚动条\n* @parent 滚动 Scroll View\n* @description 通过设置 `scroll.y` 可达到固定表头的效果。如设置 `scroll={{ y:200 }}` 表示表体高度超出 200px 后会显示滚动条。\n* demo0202\n*/\n\nimport React, { Component } from \"react\";\nimport { Table } from 'tinper-bee';\n\n\nconst columns = [\n {title: \"序号\",dataIndex: \"index\",key: \"index\",width: 80, \n render(text, record, index) {\n return index + 1;\n }\n },\n {title: \"订单编号\",dataIndex: \"orderCode\",key: \"orderCode\",width: 200},\n {title: \"供应商名称\",dataIndex: \"supplierName\",key: \"supplierName\",width: 200},\n {title: \"类型\",dataIndex: \"type_name\",key: \"type_name\",width: 200},\n {title: \"采购组织\",dataIndex: \"purchasing\",key: \"purchasing\",width: 200},\n {title: \"采购组\",dataIndex: \"purchasingGroup\",key: \"purchasingGroup\",width: 200},\n {title: \"凭证日期\",dataIndex: \"voucherDate\",key: \"voucherDate\",width: 200}\n];\n \nconst data = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n key: \"3\"\n },\n { \n orderCode:\"NU0391028\", \n supplierName: \"xx供应商\",\n type_name: \"4\",\n purchasing:'组织c', \n purchasingGroup:\"cc\",\n voucherDate:\"2019年03月01日\",\n key: \"4\"\n },\n { \n orderCode:\"NU0391029\", \n supplierName: \"xx供应商\",\n type_name: \"5\",\n purchasing:'组织d', \n purchasingGroup:\"ss\",\n voucherDate:\"2019年02月14日\",\n key: \"5\"\n },\n { \n orderCode:\"NU0391030\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织e', \n purchasingGroup:\"zz\",\n voucherDate:\"2019年02月18日\",\n key: \"6\"\n },\n { \n orderCode:\"NU0391031\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织f', \n purchasingGroup:\"qq\",\n voucherDate:\"2019年01月01日\",\n key: \"7\"\n },\n { \n orderCode:\"NU0391032\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织g', \n purchasingGroup:\"pp\",\n voucherDate:\"2019年01月31日\",\n key: \"8\"\n },\n];\nclass Demo12 extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo12;\n", "desc": " 通过设置 `scroll.y` 可达到固定表头的效果。如设置 `scroll={{ y:200 }}` 表示表体高度超出 200px 后会显示滚动条。" }, { "example": _react2['default'].createElement(Demo0301, null), "title": " 渲染本地数据", "code": "/**\n*\n* @title 渲染本地数据\n* @parent 数据操作 Data Opetation\n* @description 可自定义页头和页脚。\n* demo0301\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip } from 'tinper-bee';\n\n\n\nconst columns = [\n {\n title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\",\n fixed:'left',\n render: (text, record, index) => {\n return (\n \n {text}\n \n );\n }\n },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\n];\n\nconst data = [\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\n];\nclass Demo21 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: data\n }\n }\n\n render() {\n return (\n 员工信息统计表
}\n footer={currentData => 合计: 共{data.length}条数据
}\n />\n );\n }\n}\n\nexport default Demo21;\n", "desc": " 可自定义页头和页脚。" }, { "example": _react2['default'].createElement(Demo0302, null), "title": " 渲染远程数据", "code": "/**\n*\n* @title 渲染远程数据\n* @parent 数据操作 Data Opetation\n* @description 可通过 ajax 请求方式,从服务端读取并展现数据。也可自行接入其他数据处理方式。\n* demo0302\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button } from 'tinper-bee';\n\nimport reqwest from 'reqwest';\n\n\nconst columns = [{\n title: 'Name',\n dataIndex: 'name',\n sorter: true,\n render: name => `${name.first} ${name.last}`,\n width: '20%',\n}, {\n title: 'Gender',\n dataIndex: 'gender',\n filters: [\n { text: 'Male', value: 'male' },\n { text: 'Female', value: 'female' },\n ],\n width: '20%',\n}, {\n title: 'Email',\n dataIndex: 'email',\n}];\n\nclass Demo22 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data: [],\n loading: false,\n }\n }\n\n fetch = (params = {}) => {\n console.log('params:', params);\n this.setState({ loading: true });\n reqwest({\n url: 'https://randomuser.me/api',\n method: 'get',\n data: {\n results: 10,\n ...params,\n },\n type: 'json',\n }).then((data) => {\n this.setState({\n loading: false,\n data: data.results,\n });\n });\n }\n\n render() {\n return (\n \n
\n
\n
\n );\n }\n}\n\nexport default Demo22;\n", "desc": " 可通过 ajax 请求方式,从服务端读取并展现数据。也可自行接入其他数据处理方式。", "scss_code": ".demo22{\n .opt-btns{\n margin-bottom: 8px;\n }\n}" }, { "example": _react2['default'].createElement(Demo0402, null), "title": " 多列表头", "code": "/**\r\n *\r\n * @title 多列表头\r\n * @parent 列渲染 Custom Render\r\n * @description columns[n] 可以内嵌 children,以渲染分组表头。\r\n * 自定义表头高度需要传headerHeight,注:修改th的padding top和bottom置为0,否则会有影响\r\n * 多列表头拖拽的时候,原则只拖拽叶子节点的表头。\r\n * demo0402\r\n */\r\n\r\nimport React, { Component } from \"react\";\nimport { Table, Button } from 'tinper-bee';\r\n\r\n\r\n\r\nimport dragColumn from 'bee-table/build/lib/dragColumn';\r\n\r\nconst columns = [\r\n {\r\n title: \"姓名\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: 100,\r\n fixed: \"left\"\r\n },\r\n {\r\n title: \"个人信息\",\r\n width:600,\r\n children: [\r\n {\r\n title: \"年龄\",\r\n dataIndex: \"age\",\r\n key: \"age\",\r\n width: 200\r\n },\r\n {\r\n title: \"地址\",\r\n children: [\r\n {\r\n title: \"街道\",\r\n dataIndex: \"street\",\r\n key: \"street\",\r\n width: 200\r\n },\r\n {\r\n title: \"单元\",\r\n children: [\r\n {\r\n title: \"楼号\",\r\n dataIndex: \"building\",\r\n key: \"building\",\r\n width: 100\r\n },\r\n {\r\n title: \"门户\",\r\n dataIndex: \"number\",\r\n key: \"number\",\r\n width: 100\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n title: \"公司信息\",\r\n width:400,\r\n children: [\r\n {\r\n title: \"公司地址\",\r\n dataIndex: \"companyAddress\",\r\n key: \"companyAddress\",\r\n width:200,\r\n },\r\n {\r\n title: \"公司名称\",\r\n dataIndex: \"companyName\",\r\n key: \"companyName\",\r\n width:200,\r\n }\r\n ]\r\n },\r\n {\r\n title: \"性别\",\r\n dataIndex: \"gender\",\r\n key: \"gender\",\r\n width: 60,\r\n fixed: \"right\"\r\n }\r\n];\r\n\r\nconst data = [];\r\nfor (let i = 0; i < 20; i++) {\r\n data.push({\r\n key: i,\r\n name: \"John Brown\",\r\n age: i + 1,\r\n street: \"Lake Park\",\r\n building: \"C\",\r\n number: 2035,\r\n companyAddress: \"北清路 68 号\",\r\n companyName: \"用友\",\r\n gender: \"男\"\r\n });\r\n}\r\n\r\nconst DragColumnTable = dragColumn(Table);\r\n\r\nclass Demo32 extends Component {\r\n render() {\r\n return (\r\n {\r\n console.log(width+\"--调整列宽后触发事件\",e.target);\r\n }}\r\n scroll={{ y: 240 }}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default Demo32;\r\n", "desc": " columns[n] 可以内嵌 children,以渲染分组表头。", "scss_code": ".demo32{\n .u-table-thead th {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n}" }, { "example": _react2['default'].createElement(Demo0404, null), "title": " 数据关联", "code": "/**\n*\n* @title 数据关联\n* @parent 列渲染 Custom Render\n* @description 数据行关联自定义菜单显示\n* demo0404\n*/\n\nimport React, { Component } from 'react';\nimport { Table, Icon,Checkbox,Dropdown,Menu } from 'tinper-bee';\n\n\nimport multiSelect from \"bee-table/build/lib/newMultiSelect\";\nimport sort from \"bee-table/build/lib/sort\";\n\nconst { Item } = Menu;\n\nconst data = [\n { \n num:\"NU0391025\", \n name: \"aa\",\n sex: \"男\",\n dept:'财务二科', \n rank:\"T1\",\n year:\"1\",\n seniority:\"1\",\n key: \"1\"\n }, \n { \n num:\"NU0391026\", \n name: \"bb\",\n sex: \"女\",\n dept:'财务一科', \n rank:\"M1\",\n year:\"1\",\n seniority:\"1\",\n key: \"2\"\n },\n { \n num:\"NU0391027\", \n name: \"dd\",\n sex: \"女\",\n dept:'财务一科', \n rank:\"T2\",\n year:\"2\",\n seniority:\"2\",\n key: \"3\"\n }\n];\n\nconst MultiSelectTable = multiSelect(Table, Checkbox);\nconst ComplexTable = sort(MultiSelectTable, Icon);\n\nclass Demo33 extends Component {\n constructor(props) {\n super(props);\n }\n getSelectedDataFunc = data => {\n console.log(data);\n }\n onSelect = (item) => {\n console.log(item);\n }\n render() {\n const menu1 = (\n );\n let columns = [\n { title: \"关联\",dataIndex: \"link\",key: \"link\",width: 80, \n render: (text, record, index) => {\n return (\n \n \n \n )\n }\n },\n { title: \"员工编号\",dataIndex: \"num\",key: \"num\",width: 200 },\n { title: \"员工姓名\",dataIndex: \"name\",key: \"name\", width: 200},\n { title: \"员工性别\",dataIndex: \"sex\",key: \"sex\",width: 200 },\n { title: \"部门\",dataIndex: \"dept\",key: \"dept\",width: 200},\n { title: \"职级\",dataIndex: \"rank\",key: \"rank\",width: 200},\n { title: \"工龄\",dataIndex: \"year\",key: \"year\",width: 200},\n { title: \"司龄\",dataIndex: \"seniority\",key: \"seniority\",width: 200}\n ];\n return \n }\n}\n\nexport default Demo33; ", "desc": " 数据行关联自定义菜单显示" }, { "example": _react2['default'].createElement(Demo0405, null), "title": " 列合计(总计)", "code": "/**\n *\n * @title 列合计(总计)\n * @parent 列渲染 Custom Render\n * @description 给需要计算合计的列(columns),设置sumCol值为true即可,支持动态设置数据源。\n * demo0405\n */\n\nimport React, { Component } from \"react\";\nimport { Table, Checkbox } from 'tinper-bee';\n\n \nimport sum from \"bee-table/build/lib/sum.js\";\nimport multiSelect from \"bee-table/build/lib/multiSelect.js\";\n \nlet ComplexTable = multiSelect(sum(Table), Checkbox);\n//sum第二个参数可以设置精度,例如 sum(Table,4); 设计精度为4\nlet _sum = 0;\nconst columns = [\n {\n title: \"单据编号\",\n dataIndex: \"num\",\n key: \"num\",\n width: 120,\n fixed: \"left\"\n },\n {\n title: \"单据日期\",\n dataIndex: \"date\",\n key: \"date\",\n width: 200,\n },\n {\n title: \"业务类型\",\n dataIndex: \"type\",\n key: \"type\",\n width: 200\n },\n {\n title: \"供应商\",\n dataIndex: \"supplier\",\n key: \"supplier\",\n width: 100\n },\n {\n title: \"联系人\",\n dataIndex: \"contact\",\n key: \"contact\",\n },\n {\n title: \"仓库\",\n dataIndex: \"warehouse\",\n key: \"warehouse\",\n width: 80,\n },\n {\n title: \"整单数量\",\n dataIndex: \"total\",\n key: \"total\",\n width: 100,\n sumCol: true\n },\n {\n title: \"金额\",\n dataIndex: \"money\",\n key: \"money\",\n width: 100,\n sumCol: true\n }\n];\n\nfunction getData(){\n const data = [];\n for (let i = 0; i < 5; i++) {\n data.push({\n key: i,\n num: \"NU039100\"+i,\n date: \"2019-03-01\",\n type: \"普通采购\",\n supplier: \"gys\"+i,\n contact: \"Tom\",\n warehouse: \"普通仓\",\n total: i + Math.floor(Math.random()*10),\n money: 20 * Math.floor(Math.random()*10)\n });\n _sum += data[i].total;\n _sum += data[i].money;\n }\n return data;\n}\n\nclass Demo35 extends Component {\n \n constructor(props) {\n super(props);\n this.state = {\n data: getData(),\n sum:_sum\n };\n }\n\n render() {\n const {data} = this.state;\n return (\n \n );\n }\n}\nexport default Demo35;\n", "desc": " 给需要计算合计的列(columns),设置sumCol值为true即可,支持动态设置数据源。" }, { "example": _react2['default'].createElement(Demo0406, null), "title": " 自定义整行和整列样式表格", "code": "/**\n *\n * @title 自定义整行和整列样式表格\n * @parent 列渲染 Custom Render\n * @description 某行或某列的样式,严格按照react的样式书写规则,即对象内每一个属性的键为小写驼峰式,值为字符串。此demo展示自定义整行或整列的背景色和字体内容颜色。\n * demo0406\n */\n\nimport React, { Component } from \"react\";\nimport { Table } from 'tinper-bee';\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:100},\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100,style: {backgroundColor:'#e3f2fd',color:'#505F79'}},\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\n];\n\nconst data = [\n { a: \"ASVAL_20190328\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1\" ,style:{backgroundColor:'#ffebee',color:'#000'}},\n { a: \"ASVAL_20190320\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"2\" },\n { a: \"ASVAL_20190312\", b: \"小红\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"3\" }\n];\n\nclass Demo0406 extends Component {\n render() {\n return (\n \n );\n }\n}\nexport default Demo0406\n", "desc": " 某行或某列的样式,严格按照react的样式书写规则,即对象内每一个属性的键为小写驼峰式,值为字符串。此demo展示自定义整行或整列的背景色和字体内容颜色。" }, { "example": _react2['default'].createElement(Demo0501, null), "title": " 行内编辑", "code": "/**\n *\n * @title 行内编辑\n * @parent 编辑 Editor\n * @description 可以对行进行编辑的表格\n * demo0501\n */\nimport React, { Component } from \"react\";\nimport { Table, Select, Form, FormControl, Button, Icon, Tooltip } from 'tinper-bee';\n\n\nconst Option = Select.Option;\nimport { RefTreeWithInput } from \"ref-tree\";\n\nclass StringEditCell extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: props.value\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.editable) {\n this.setState({ value: nextProps.value });\n }\n }\n\n handleChange = value => {\n const { onChange, throwError } = this.props;\n if (value === \"\") {\n throwError && throwError(true);\n } else {\n throwError && throwError(false);\n }\n this.setState({ value });\n onChange && onChange(value);\n };\n\n render() {\n const { editable, required, colName } = this.props;\n const { value } = this.state;\n let cls = \"editable-cell-input-wrapper\";\n if (required) cls += \" required\";\n if (value === \"\") cls += \" verify-cell\";\n return editable ? (\n \n
\n \n \n {value === \"\" ? (\n {\"请输入\" + colName}
}\n >\n
\n \n ) : null}\n \n
\n \n ) : (\n value || \" \"\n );\n }\n}\n\nconst SELECT_SOURCE = [\"男\", \"女\"];\n\nclass SelectEditCell extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: props.value\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.editable) {\n this.setState({ value: nextProps.value });\n }\n }\n\n handleSelect = value => {\n this.setState({ value });\n this.props.onChange && this.props.onChange(value);\n };\n\n render() {\n const { editable } = this.props;\n const { value } = this.state;\n let cls = \"editable-cell-input-wrapper\";\n return editable ? (\n \n
\n \n
\n
\n ) : (\n value || \" \"\n );\n }\n}\n\nconst option = {\n title: \"树\",\n searchable: true,\n multiple: false,\n param: {\n refCode: \"neworganizition_tree\"\n },\n checkStrictly: true,\n disabled: false,\n nodeDisplay: record => {\n return record.refname;\n },\n displayField: record => {\n return record.refname;\n }, //显示内容的键\n valueField: \"refpk\", //真实 value 的键\n refModelUrl: {\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\n },\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\n lazyModal: false,\n strictMode: true,\n lang: \"zh_CN\",\n treeData: [\n {\n code: \"org1\",\n children: [\n {\n code: \"bj\",\n entityType: \"mainEntity\",\n name: \"北京总部-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"bj\",\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n isLeaf: \"true\",\n refname: \"北京总部-简\"\n },\n {\n code: \"xd\",\n entityType: \"mainEntity\",\n name: \"新道-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"xd\",\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n isLeaf: \"true\",\n refname: \"新道-简\"\n },\n {\n code: \"yy3\",\n entityType: \"mainEntity\",\n name: \"test3\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy3\",\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n isLeaf: \"true\",\n refname: \"test3\"\n },\n {\n code: \"yy1\",\n entityType: \"mainEntity\",\n name: \"test1\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy1\",\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n isLeaf: \"true\",\n refname: \"test1\"\n },\n {\n code: \"dept2\",\n children: [\n {\n code: \"cs\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"测试部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"cs\",\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\n isLeaf: \"true\",\n refname: \"测试部-简\"\n },\n {\n code: \"qd\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"前端部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"qd\",\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n isLeaf: \"true\",\n refname: \"前端部-简\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"生产处\",\n refcode: \"dept2\",\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refname: \"生产处\"\n },\n {\n code: \"dept1\",\n children: [\n {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务处\",\n refcode: \"dept1\",\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refname: \"财务处\"\n }\n ],\n entityType: \"mainEntity\",\n name: \"用友集团\",\n refcode: \"org1\",\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refname: \"用友集团\"\n }\n ]\n};\n\nconst RefEditCell = Form.createForm()(\n class RefComponentWarpper extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: props.value\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.editable) {\n this.setState({ value: nextProps.value });\n }\n }\n\n handleSelect = values => {\n this.setState({ value: values[0] });\n this.props.onChange && this.props.onChange(values[0]);\n };\n\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const { editable, required } = this.props;\n const { value } = this.state;\n let cls = \"editable-cell-input-wrapper\";\n if (required) cls += \" required\";\n if (getFieldError(\"refValue\")) cls += \" verify-cell\";\n return editable ? (\n \n \n {\"请输入\" + this.props.colName}\n
\n }\n >\n \n \n ),\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\n }\n ]\n })}\n />\n {getFieldError(\"refValue\")}\n \n ) : (\n value.name || \" \"\n );\n }\n }\n);\n\nlet dataSource = [\n {\n a: \"ASVAL_201903280005\",\n b: \"小张\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"1\"\n },\n {\n a: \"ASVAL_201903200004\",\n b: \"小明\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"2\"\n },\n {\n a: \"ASVAL_201903120002\",\n b: \"小红\",\n c: \"女\",\n d: {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n },\n key: \"3\"\n }\n];\n\nclass Demo0501 extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n dataSource: dataSource,\n editingRowsMap: {},\n currentIndex: null,\n errorEditFlag: false\n };\n\n this.columns = [\n {\n title: \"员工编号\",\n dataIndex: \"a\",\n key: \"a\"\n },\n {\n title: \"名字\",\n dataIndex: \"b\",\n key: \"b\",\n render: (text, record, index) => (\n \n )\n },\n {\n title: \"性别\",\n dataIndex: \"c\",\n key: \"c\",\n width: 100,\n render: (text, record, index) => (\n \n )\n },\n {\n title: \"部门\",\n dataIndex: \"d\",\n key: \"d\",\n width: 215,\n render: (text, record, index) => (\n \n )\n },\n // 只是用来占位占宽度的\n {\n key: \"placeholder\"\n }\n ];\n\n this.state = {\n dataSource: dataSource,\n editingRowsMap: {},\n currentIndex: null,\n errorEditFlag: false\n };\n\n this.dataBuffer = {};\n }\n\n edit = index => () => {\n if (index === null) return;\n let editingRowsMap = { ...this.state.editingRowsMap };\n editingRowsMap[index] = index.toString();\n // 最好使用深复制\n this.dataBuffer[index] = { ...this.state.dataSource[index] };\n this.setState({ editingRowsMap });\n };\n\n abortEdit = index => () => {\n let editingRowsMap = { ...this.state.editingRowsMap };\n delete editingRowsMap[index];\n delete this.dataBuffer[index];\n this.setState({ editingRowsMap });\n };\n\n delete = index => () => {\n if (index === null) return;\n let { dataSource } = this.state;\n dataSource.splice(index,1);\n this.setState({\n dataSource:dataSource\n });\n }\n\n commitChange = index => () => {\n if (this.state.errorEditFlag) return;\n let editingRowsMap = { ...this.state.editingRowsMap };\n delete editingRowsMap[index];\n let dataSource = [...this.state.dataSource];\n dataSource[index] = { ...this.dataBuffer[index] };\n this.setState({ editingRowsMap, dataSource });\n };\n\n onCellChange = (index, key) => value => {\n this.dataBuffer[index][key] = value;\n };\n\n throwError = isError => {\n if (isError !== this.state.errorEditFlag)\n this.setState({ errorEditFlag: isError });\n };\n\n handleRowHover = (index, record) => {\n this.currentRecord = record;\n this.setState({ currentIndex: index });\n };\n\n renderRowHover = () => {\n const { currentIndex } = this.state;\n return this.state.editingRowsMap[currentIndex] ? (\n \n \n \n
\n ) : (\n \n \n \n
\n );\n };\n\n render() {\n const { dataSource } = this.state;\n const columns = this.columns;\n return (\n \n );\n }\n}\n\nexport default Demo0501;\n", "desc": " 可以对行进行编辑的表格", "scss_code": ".demo0501 .u-table {\n .u-row-hover {\n .opt-btns,.cancel-btns {\n button {\n margin: 0;\n &:first-child {\n margin-right: 8px;\n }\n }\n }\n }\n\n .u-table-row {\n td {\n padding: 5px 8px;\n\n input {\n font-size: 12px;\n padding-left: 5px;\n }\n }\n\n .u-form-control,\n .u-select-selection {\n height: 30px;\n }\n }\n\n .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px;\n }\n\n .required {\n margin-left: 10px;\n position: relative;\n\n &::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px;\n }\n\n span.u-input-group {\n display: block\n }\n }\n .verify-cell {\n padding-right: 25px !important;\n }\n\n .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n\n .ref-input-wrap {\n width: 160px !important;\n }\n}\n\n.u-editable-table-tp {\n .tp-content {\n color: #F44336;\n }\n}" }, { "example": _react2['default'].createElement(Demo0502, null), "title": " 单元格编辑", "code": "/**\n *\n * @title 单元格编辑\n * @parent 编辑 Editor\n * @description 可以对单元格进行编辑的表格,示例中给出输入框、下拉框、参照的编辑模式,以及两类校验。(通过对 coloums 配置 render 属性实现渲染不同格式的编辑态单元格)\n * demo0502\n */\nimport React, { Component } from \"react\";\nimport { Table, Icon, Select, Tooltip, Form } from 'tinper-bee';\n\n\nconst Option = Select.Option;\nimport { RefTreeWithInput } from \"ref-tree\";\n\nclass StringEditCell extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: this.props.value,\n editable: false\n };\n this.editWarp = React.createRef();\n }\n\n commitChange = () => {\n if (this.state.value === \"\") return;\n this.setState({ editable: false });\n if (this.props.onChange) {\n this.props.onChange(this.state.value);\n }\n };\n\n edit = () => {\n this.setState({ editable: true });\n };\n\n handleKeydown = event => {\n if (event.keyCode == 13) {\n this.commitChange();\n }\n };\n\n handleChange = e => {\n if (e.target.value === \"\") this.editWarp.className += \" verify-cell\";\n this.setState({ value: e.target.value });\n };\n\n render() {\n const { value, editable } = this.state;\n return (\n \n {editable ? (\n
this.editWarp = el} className=\"editable-cell-input-wrapper\">\n \n {value === \"\" ? (\n \n {\"请输入\" + this.props.colName}\n
\n }\n >\n
\n \n ) : null}\n
\n ) : (\n \n {value || \" \"}\n
\n )}\n \n );\n }\n}\n\nconst SELECT_SOURCE = [\"男\", \"女\"];\n\nclass SelectEditCell extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: this.props.value,\n editable: false\n };\n }\n\n handleSelect = value => {\n this.setState({ value });\n };\n\n commitChange = () => {\n this.setState({ editable: false });\n if (this.props.onChange) {\n this.props.onChange(this.state.value);\n }\n };\n\n edit = () => {\n this.setState({ editable: true });\n };\n\n render() {\n const { value, editable } = this.state;\n return (\n \n {editable ? (\n
\n \n
\n ) : (\n
\n {value || \" \"}\n
\n )}\n
\n );\n }\n}\n\nconst option = {\n title: \"树\",\n searchable: true,\n multiple: false,\n param: {\n refCode: \"neworganizition_tree\"\n },\n checkStrictly: true,\n disabled: false,\n nodeDisplay: record => {\n return record.refname;\n },\n displayField: record => {\n return record.refname;\n }, //显示内容的键\n valueField: \"refpk\", //真实 value 的键\n refModelUrl: {\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\n },\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\n lazyModal: false,\n strictMode: true,\n lang: \"zh_CN\",\n treeData: [\n {\n code: \"org1\",\n children: [\n {\n code: \"bj\",\n entityType: \"mainEntity\",\n name: \"北京总部-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"bj\",\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n isLeaf: \"true\",\n refname: \"北京总部-简\"\n },\n {\n code: \"xd\",\n entityType: \"mainEntity\",\n name: \"新道-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"xd\",\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n isLeaf: \"true\",\n refname: \"新道-简\"\n },\n {\n code: \"yy3\",\n entityType: \"mainEntity\",\n name: \"test3\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy3\",\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n isLeaf: \"true\",\n refname: \"test3\"\n },\n {\n code: \"yy1\",\n entityType: \"mainEntity\",\n name: \"test1\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy1\",\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n isLeaf: \"true\",\n refname: \"test1\"\n },\n {\n code: \"dept2\",\n children: [\n {\n code: \"cs\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"测试部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"cs\",\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\n isLeaf: \"true\",\n refname: \"测试部-简\"\n },\n {\n code: \"qd\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"前端部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"qd\",\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n isLeaf: \"true\",\n refname: \"前端部-简\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"生产处\",\n refcode: \"dept2\",\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refname: \"生产处\"\n },\n {\n code: \"dept1\",\n children: [\n {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务处\",\n refcode: \"dept1\",\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refname: \"财务处\"\n }\n ],\n entityType: \"mainEntity\",\n name: \"用友集团\",\n refcode: \"org1\",\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refname: \"用友集团\"\n }\n ]\n};\n\nconst RefEditCell = Form.createForm()(\n class RefComponentWarpper extends Component {\n constructor(props, context) {\n super(props, context);\n this.state = {\n value: this.props.value.d,\n editable: false\n };\n this.refWarp = React.createRef();\n }\n\n edit = () => {\n this.setState({ editable: true }, () => this.refWarp.focus());\n };\n\n handleSelect = values => {\n this.setState({ value: values[0] });\n };\n\n commitChange = () => {\n this.setState({ editable: false });\n if (this.props.onChange) {\n this.props.onChange(this.state.value);\n }\n };\n\n onRefBlur = e => {\n // 消除点击子组件,父组件先失焦再聚焦的事件触发过程带来的副作用\n const __REF_CONTENT__ = document.querySelector(\"div.ref-core-modal\");\n if (!__REF_CONTENT__ && e.target === this.refWarp) {\n this.commitChange();\n }\n };\n\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const { value, editable } = this.state;\n return editable ? (\n (this.refWarp = el)}\n className=\"editable-cell-input-wrapper\"\n tabIndex={-1}\n onBlur={this.onRefBlur}\n >\n \n \n {getFieldError(\"code1\")}\n \n
\n ) : (\n \n {value.name || \" \"}\n
\n );\n }\n }\n);\n\nconst dataSource = [\n {\n a: \"ASVAL_201903280005\",\n b: \"小张\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"1\"\n },\n {\n a: \"ASVAL_201903200004\",\n b: \"小明\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"2\"\n },\n {\n a: \"ASVAL_201903120002\",\n b: \"小红\",\n c: \"女\",\n d: {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n },\n key: \"3\"\n }\n];\n\nclass Demo0502 extends Component {\n constructor(props, context) {\n super(props);\n this.columns = [\n {\n title: \"员工编号\",\n dataIndex: \"a\",\n key: \"a\"\n },\n {\n title: \"名字\",\n dataIndex: \"b\",\n key: \"b\",\n render: (text, record, index) => (\n \n )\n },\n {\n title: \"性别\",\n dataIndex: \"c\",\n key: \"c\",\n width: 100,\n render: (text, record, index) => (\n \n )\n },\n {\n title: \"部门\",\n dataIndex: \"d\",\n key: \"d\",\n width: 215,\n render: (text, record, index) => (\n \n )\n },\n {\n key: \"placeholder\"\n }\n ];\n\n this.state = {\n dataSource: dataSource\n };\n }\n\n onCellChange = (index, key) => {\n return value => {\n const { dataSource } = this.state;\n dataSource[index][key] = value;\n this.setState({ dataSource }, () => console.dir(this.state.dataSource));\n };\n };\n\n render() {\n return (\n \n
\n \n );\n }\n}\n\nexport default Demo0502;\n", "desc": " 可以对单元格进行编辑的表格,示例中给出输入框、下拉框、参照的编辑模式,以及两类校验。(通过对 coloums 配置 render 属性实现渲染不同格式的编辑态单元格)", "scss_code": ".u-editable-table .u-table {\n .u-table-row {\n td {\n padding: 5px 8px;\n\n input {\n padding-left: 5px;\n font-size: 12px;\n\n &.error {\n border-color: #F44336;\n }\n }\n }\n\n .editable-cell {\n height: 30px;\n }\n\n &-hover {\n .editable-cell-text-wrapper {\n line-height: 19px;\n }\n }\n\n .u-form-control,\n .u-select-selection {\n height: 30px;\n }\n }\n\n .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px;\n }\n\n .editable-cell-input-wrapper {\n padding-right: 0;\n .ref-input-wrap {\n width: auto !important;\n height: 30px;\n .u-input-group{\n display: inline-block;\n }\n }\n }\n\n .verify-cell {\n padding-right: 25px !important;\n }\n\n .require {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n}\n\n.u-editable-table-tp {\n .tp-content {\n color: #F44336;\n }\n}" }, { "example": _react2['default'].createElement(Demo0503, null), "title": " 弹框(表单)编辑", "code": "/**\n *\n * @title 弹框(表单)编辑\n * @parent 编辑 Editor\n * @description 以弹框形式以对行进行编辑的表格\n * demo0503\n */\n\nimport React, { Component, PureComponent } from \"react\";\nimport { Table } from 'tinper-bee';\n\nimport {\n Select, Form, FormControl, Button, Icon,\n Tooltip, Modal, FormGroup, Label, Row, Col\n} from \"tinper-bee\";\nconst Option = Select.Option;\nimport { RefTreeWithInput } from \"ref-tree\";\n\nfunction handleFormValueChange(WarpCompProps, field, allFields) {\n const { onChange, throwError } = WarpCompProps;\n if (field.value === \"\") return throwError && throwError(true);\n throwError && throwError(false);\n onChange && onChange(field.value);\n}\n\nconst StringEditCell = Form.createForm({\n onValuesChange: handleFormValueChange\n})(PureStringEditCell);\n\nfunction PureStringEditCell(props) {\n const { getFieldProps, getFieldError } = props.form;\n const { value, required } = props;\n let cls = \"editable-cell\";\n if (required) cls += \" required\";\n return (\n \n \n {\"请输入\" + props.colName}\n
\n }\n >\n \n \n )\n }\n ]\n })}\n />\n {getFieldError(\"value\")}\n \n );\n}\n\nconst SELECT_SOURCE = [\"男\", \"女\"];\n\nclass SelectEditCell extends PureComponent {\n constructor(props, context) {\n super(props);\n }\n\n handleSelect = value => {\n this.props.onChange && this.props.onChange(value);\n };\n\n render() {\n return (\n \n \n
\n );\n }\n}\n\nconst option = {\n title: \"树\",\n searchable: true,\n multiple: false,\n param: {\n refCode: \"neworganizition_tree\"\n },\n checkStrictly: true,\n disabled: false,\n nodeDisplay: record => {\n return record.refname;\n },\n displayField: record => {\n return record.refname;\n }, //显示内容的键\n valueField: \"refpk\", //真实 value 的键\n refModelUrl: {\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\n },\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\n lazyModal: false,\n strictMode: true,\n lang: \"zh_CN\",\n treeData: [\n {\n code: \"org1\",\n children: [\n {\n code: \"bj\",\n entityType: \"mainEntity\",\n name: \"北京总部-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"bj\",\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n isLeaf: \"true\",\n refname: \"北京总部-简\"\n },\n {\n code: \"xd\",\n entityType: \"mainEntity\",\n name: \"新道-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"xd\",\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n isLeaf: \"true\",\n refname: \"新道-简\"\n },\n {\n code: \"yy3\",\n entityType: \"mainEntity\",\n name: \"test3\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy3\",\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n isLeaf: \"true\",\n refname: \"test3\"\n },\n {\n code: \"yy1\",\n entityType: \"mainEntity\",\n name: \"test1\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy1\",\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n isLeaf: \"true\",\n refname: \"test1\"\n },\n {\n code: \"dept2\",\n children: [\n {\n code: \"cs\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"测试部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"cs\",\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\n isLeaf: \"true\",\n refname: \"测试部-简\"\n },\n {\n code: \"qd\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"前端部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"qd\",\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n isLeaf: \"true\",\n refname: \"前端部-简\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"生产处\",\n refcode: \"dept2\",\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refname: \"生产处\"\n },\n {\n code: \"dept1\",\n children: [\n {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务处\",\n refcode: \"dept1\",\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refname: \"财务处\"\n }\n ],\n entityType: \"mainEntity\",\n name: \"用友集团\",\n refcode: \"org1\",\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refname: \"用友集团\"\n }\n ]\n};\n\nconst RefEditCell = Form.createForm()(\n class RefComponentWarpper extends PureComponent {\n constructor(props, context) {\n super(props);\n }\n\n handleSelect = values => {\n const { form, throwError, onChange } = this.props\n if (form.getFieldError(\"refValue\")) return throwError && throwError(true);\n throwError && throwError(false);\n onChange && onChange(values[0]);\n };\n\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const { value, required } = this.props;\n let cls = \"editable-cell\";\n if (required) cls += \" required\";\n return (\n \n \n {\"请输入\" + this.props.colName}\n
\n }\n >\n \n \n ),\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\n }\n ]\n })}\n />\n {getFieldError(\"refValue\")}\n \n );\n }\n }\n);\n\nclass EditModal extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n data: this.props.data,\n errorEditFlag: false\n };\n\n // 属性名对应 columns 属性中的 key 值\n this.renderElm = {\n b: (record, index) => (\n \n ),\n\n c: (record, index) => (\n \n ),\n d: (record, index) => (\n \n )\n }\n }\n\n onFieldChange = field => value => {\n let data = { ...this.state.data };\n data[field] = value;\n this.setState({ data });\n }\n\n submitChange = () => {\n if (this.state.errorEditFlag) return;\n const { onSubmit, onHide, currentIndex } = this.props;\n onSubmit && onSubmit(this.state.data, currentIndex);\n onHide && onHide();\n }\n\n throwError = isError => {\n if (isError !== this.state.errorEditFlag)\n this.setState({ errorEditFlag: isError });\n };\n\n render() {\n const { show, onHide, columns, currentIndex } = this.props;\n const { data } = this.state;\n return (\n \n \n 编辑行\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nlet dataSource = [\n {\n a: \"ASVAL_201903280005\",\n b: \"小张\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"1\"\n },\n {\n a: \"ASVAL_201903200004\",\n b: \"小明\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"2\"\n },\n {\n a: \"ASVAL_201903120002\",\n b: \"小红\",\n c: \"女\",\n d: {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n },\n key: \"3\"\n }\n];\n\nclass Demo0503 extends Component {\n constructor(props, context) {\n super(props);\n // 编辑态下每个单元格对应的编辑模式组件写在 EditModal 组件中,以 key 值对应\n this.columns = [\n {\n title: \"员工编号\",\n dataIndex: \"a\",\n key: \"a\"\n },\n {\n title: \"名字\",\n dataIndex: \"b\",\n key: \"b\"\n },\n {\n title: \"性别\",\n dataIndex: \"c\",\n key: \"c\",\n width: 100\n },\n {\n title: \"部门\",\n dataIndex: \"d\",\n key: \"d\",\n width: 215,\n render: (text, record, index) => record.d.name\n }\n ];\n\n this.state = {\n dataSource: dataSource,\n isEditing: false,\n currentIndex: null\n };\n }\n\n edit = () => {\n if (this.state.currentIndex === null) return;\n this.setState({ isEditing: true });\n };\n\n abortEdit = () => {\n this.setState({ isEditing: false });\n };\n\n commitChange = (editedRowData, rowIndex) => {\n console.log(editedRowData)\n console.log(rowIndex)\n let dataSource = [...this.state.dataSource];\n dataSource[rowIndex] = editedRowData;\n this.setState({ dataSource });\n };\n\n handleRowHover = (index, record) => {\n this.setState({ currentIndex: index });\n };\n\n hideEditModal = () => {\n this.setState({ isEditing: false });\n }\n\n renderRowHover = () => {\n return (\n \n \n
\n );\n };\n\n\n render() {\n const { dataSource, isEditing, currentIndex } = this.state;\n const columns = this.columns;\n return (\n \n
\n {\n isEditing ? (\n
\n ) : null\n }\n
\n );\n }\n}\n\nexport default Demo0503;\n", "desc": " 以弹框形式以对行进行编辑的表格", "scss_code": ".demo0503-m-b {\n\n &.u-modal .u-modal-body {\n padding: 16px 0;\n background: #f7f9fb;\n }\n\n .u-form-group {\n overflow: hidden;\n }\n\n .u-form-control {\n font-size: 12px;\n }\n\n .editable-cell {\n display: block;\n float: left;\n width: 265px;\n padding-right: 25px;\n }\n\n .ref-input-wrap {\n width: 240px !important;\n }\n\n .u-label {\n display: block;\n float: left;\n text-align: right;\n width: 110px;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n height: 32px;\n line-height: 32px;\n .mast {\n padding: 0;\n color: red;\n }\n }\n\n .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n}\n\n.u-editable-table-tp {\n z-index: 9999 !important;\n\n .tp-content {\n color: #F44336;\n }\n}\n.ref-core-button .u-button:first-child{\n margin-right: 8px;\n}" }, { "example": _react2['default'].createElement(Demo0505, null), "title": " 全表格编辑", "code": "/**\n *\n * @title 全表格编辑\n * @parent 编辑 Editor\n * @description 以行内编辑形式对全表数据进行编辑\n * demo0505\n */\nimport React, { Component } from \"react\";\nimport { Table, Select, Form, FormControl, Button, Icon, Tooltip } from 'tinper-bee';\n\n\nconst Option = Select.Option;\nimport { RefTreeWithInput } from \"ref-tree\";\n\nclass StringEditCell extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: props.value\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.editable) {\n this.setState({ value: nextProps.value });\n }\n }\n\n handleChange = value => {\n const { onChange, throwError } = this.props;\n if (value === \"\") {\n throwError && throwError(true);\n } else {\n throwError && throwError(false);\n }\n this.setState({ value });\n onChange && onChange(value);\n };\n\n render() {\n const { editable, required, colName, isEdited } = this.props;\n const { value } = this.state;\n let cls = \"editable-cell-input-wrapper\";\n if (required) cls += \" required\";\n if (value === \"\") cls += \" verify-cell\";\n if (isEdited) cls += \" edited\";\n return editable ? (\n \n
\n \n \n {value === \"\" ? (\n {\"请输入\" + colName}
}\n >\n
\n \n ) : null}\n \n
\n \n ) : (\n value || \" \"\n );\n }\n}\n\nconst SELECT_SOURCE = [\"男\", \"女\"];\n\nclass SelectEditCell extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: props.value\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.editable) {\n this.setState({ value: nextProps.value });\n }\n }\n\n handleSelect = value => {\n this.setState({ value });\n this.props.onChange && this.props.onChange(value);\n };\n\n render() {\n const { editable, isEdited } = this.props;\n const { value } = this.state;\n let cls = \"editable-cell-input-wrapper\";\n if (isEdited) cls += \" edited\";\n return editable ? (\n \n
\n \n
\n
\n ) : (\n value || \" \"\n );\n }\n}\n\nconst option = {\n title: \"树\",\n searchable: true,\n multiple: false,\n param: {\n refCode: \"neworganizition_tree\"\n },\n checkStrictly: true,\n disabled: false,\n nodeDisplay: record => {\n return record.refname;\n },\n displayField: record => {\n return record.refname;\n }, //显示内容的键\n valueField: \"refpk\", //真实 value 的键\n refModelUrl: {\n treeUrl: \"https://mock.yonyoucloud.com/mock/358/blobRefTree\",\n treeUrl: \"/pap_basedoc/common-ref/blobRefTree\"\n },\n matchUrl: \"/pap_basedoc/common-ref/matchPKRefJSON\",\n filterUrl: \"/pap_basedoc/common-ref/filterRefJSON\",\n lazyModal: false,\n strictMode: true,\n lang: \"zh_CN\",\n treeData: [\n {\n code: \"org1\",\n children: [\n {\n code: \"bj\",\n entityType: \"mainEntity\",\n name: \"北京总部-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"bj\",\n refpk: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n id: \"5305416e-e7b4-4051-90bd-12d12942295b\",\n isLeaf: \"true\",\n refname: \"北京总部-简\"\n },\n {\n code: \"xd\",\n entityType: \"mainEntity\",\n name: \"新道-简\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"xd\",\n refpk: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n id: \"b691afff-ea83-4a3f-affa-beb2be9cba52\",\n isLeaf: \"true\",\n refname: \"新道-简\"\n },\n {\n code: \"yy3\",\n entityType: \"mainEntity\",\n name: \"test3\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy3\",\n refpk: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n id: \"e75694d9-7c00-4e9e-9573-d29465ae79a9\",\n isLeaf: \"true\",\n refname: \"test3\"\n },\n {\n code: \"yy1\",\n entityType: \"mainEntity\",\n name: \"test1\",\n pid: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refcode: \"yy1\",\n refpk: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n id: \"fd32ceeb-57a8-4f44-816e-fa660f5715ab\",\n isLeaf: \"true\",\n refname: \"test1\"\n },\n {\n code: \"dept2\",\n children: [\n {\n code: \"cs\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"测试部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"cs\",\n refpk: \"cc43a66a-438d-4106-937f-bec44406f771\",\n id: \"cc43a66a-438d-4106-937f-bec44406f771\",\n isLeaf: \"true\",\n refname: \"测试部-简\"\n },\n {\n code: \"qd\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"前端部-简\",\n pid: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refcode: \"qd\",\n refpk: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n id: \"73a10edd-aae8-4f31-af25-1f48f0a3b344\",\n isLeaf: \"true\",\n refname: \"前端部-简\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"生产处\",\n refcode: \"dept2\",\n refpk: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n id: \"0ebbb6d8-250a-4d1d-a019-7ae951629a2c\",\n refname: \"生产处\"\n },\n {\n code: \"dept1\",\n children: [\n {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n }\n ],\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务处\",\n refcode: \"dept1\",\n refpk: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n id: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refname: \"财务处\"\n }\n ],\n entityType: \"mainEntity\",\n name: \"用友集团\",\n refcode: \"org1\",\n refpk: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n refname: \"用友集团\"\n }\n ]\n};\n\nconst RefEditCell = Form.createForm()(\n class RefComponentWarpper extends Component {\n constructor(props, context) {\n super(props);\n this.state = {\n value: props.value\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.editable) {\n this.setState({ value: nextProps.value });\n }\n }\n\n handleSelect = values => {\n this.setState({ value: values[0] });\n this.props.onChange && this.props.onChange(values[0]);\n };\n\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const { editable, required, isEdited } = this.props;\n const { value } = this.state;\n let cls = \"editable-cell-input-wrapper\";\n if (required) cls += \" required\";\n if (getFieldError(\"refValue\")) cls += \" verify-cell\";\n if (isEdited) cls += \" edited\";\n return editable ? (\n \n \n {\"请输入\" + this.props.colName}\n
\n }\n >\n \n \n ),\n pattern: /[^{\"refname\":\"\",\"refpk\":\"\"}|{\"refpk\":\"\",\"refname\":\"\"}]/\n }\n ]\n })}\n />\n {getFieldError(\"refValue\")}\n \n ) : (\n value.name || \" \"\n );\n }\n }\n);\n\nlet dataSource = [\n {\n a: \"ASVAL_201903280005\",\n b: \"小张\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"1\"\n },\n {\n a: \"ASVAL_201903200004\",\n b: \"小明\",\n c: \"男\",\n d: {\n code: \"dept1_2\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务二科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_2\",\n refpk: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n id: \"55b7fff1-6579-4ca9-92b7-3271d288b9f3\",\n isLeaf: \"true\",\n refname: \"财务二科\"\n },\n key: \"2\"\n },\n {\n a: \"ASVAL_201903120002\",\n b: \"小红\",\n c: \"女\",\n d: {\n code: \"dept1_1\",\n entityType: \"subEntity\",\n organization_id: \"a4cf0601-51e6-4012-9967-b7a64a4b2d47\",\n name: \"财务一科\",\n pid: \"95b60f35-ed0b-454e-b948-fb45ae30b911\",\n refcode: \"dept1_1\",\n refpk: \"9711d912-3184-4063-90c5-1facc727813c\",\n id: \"9711d912-3184-4063-90c5-1facc727813c\",\n isLeaf: \"true\",\n refname: \"财务一科\"\n },\n key: \"3\"\n }\n];\n\nclass Demo0505 extends Component {\n constructor(props, context) {\n super(props);\n this.columns = [\n {\n title: \"员工编号\",\n dataIndex: \"a\",\n key: \"a\"\n },\n {\n title: \"名字\",\n dataIndex: \"b\",\n key: \"b\",\n render: (text, record, index) => (\n \n )\n },\n {\n title: \"性别\",\n dataIndex: \"c\",\n key: \"c\",\n width: 100,\n render: (text, record, index) => (\n \n )\n },\n {\n title: \"部门\",\n dataIndex: \"d\",\n key: \"d\",\n width: 215,\n render: (text, record, index) => (\n \n )\n },\n // 只是用来占位占宽度的\n {\n key: \"placeholder\"\n }\n ];\n\n // 用于记录数据是否被修改\n dataSource.forEach(item => (item.isEdited = {}));\n this.state = {\n dataSource: dataSource,\n isEditingAll: false,\n currentIndex: null,\n errorEditFlag: false\n };\n\n // 用于记录编辑前数据\n this.dataBuffer = [];\n }\n\n edit = () => {\n this.dataBuffer = [];\n // 最好使用深复制\n this.state.dataSource.forEach((item, index) => {\n this.dataBuffer.push({ ...item });\n });\n this.setState({ isEditingAll: true });\n };\n\n abortEdit = () => {\n let originData = [...this.state.dataSource];\n originData.forEach(item => (item.isEdited = {}));\n this.setState({\n isEditingAll: false,\n dataSource: originData\n });\n };\n\n commitChange = () => {\n if (this.state.errorEditFlag) return;\n const newData = this.dataBuffer.map(item => {\n return Object.assign({}, item, { isEdited: {} });\n });\n this.setState({ isEditingAll: false, dataSource: newData });\n };\n\n onCellChange = (index, key) => value => {\n this.dataBuffer[index][key] = value;\n this.dataBuffer[index].isEdited[key] = true;\n };\n\n throwError = isError => {\n if (isError !== this.state.errorEditFlag)\n this.setState({ errorEditFlag: isError });\n };\n\n render() {\n const { dataSource, isEditingAll } = this.state;\n const columns = this.columns;\n return (\n \n
\n {isEditingAll ? (\n \n \n \n \n ) : (\n \n )}\n
\n
\n
\n );\n }\n}\n\nexport default Demo0505;\n", "desc": " 以行内编辑形式对全表数据进行编辑", "scss_code": ".demo0505 {\n\n .toolbar-btns {\n margin-bottom: 8px;\n\n .u-button {\n &:first-child {\n margin-right: 8px;\n }\n }\n }\n\n .u-table {\n .u-row-select {\n background-color: #FFF7E7;\n }\n .u-table-row {\n td {\n padding: 5px 8px;\n\n input {\n font-size: 12px;\n padding-left: 5px;\n }\n }\n\n .u-form-control,\n .u-select-selection {\n height: 30px;\n }\n }\n\n .editable-cell-text-wrapper {\n box-sizing: border-box;\n line-height: 20px;\n border-radius: 3px;\n }\n\n .required {\n margin-left: 10px;\n position: relative;\n\n &::before {\n content: \" \";\n border: 1px solid #F44336;\n width: 0;\n height: 12px;\n position: absolute;\n top: 9px;\n left: -8px;\n }\n\n span.u-input-group {\n display: block\n }\n }\n\n .verify-cell {\n padding-right: 25px !important;\n }\n\n .edited::after {\n content: \" \";\n position: absolute;\n z-index: 999;\n top: 0;\n left: 0;\n border-width: 5px;\n border-style: solid;\n border-color: #f44336 transparent transparent #f44336;\n }\n\n .required-icon {\n position: absolute;\n top: 2px;\n color: #F44336;\n font-size: 20px;\n }\n\n .ref-input-wrap {\n width: 160px !important;\n }\n }\n}\n\n.u-editable-table-tp {\n .tp-content {\n color: #F44336;\n }\n}" }, { "example": _react2['default'].createElement(Demo0601, null), "title": " 左侧固定列", "code": "/**\n*\n* @title 左侧固定列\n* @parent 列操作-锁定 Fixed\n* @description 固定列到表格的左侧\n* demo0601\n*/\n\n\n\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\n\n\nconst columns = [\n {\n title: \"序号\",\n dataIndex: \"index\",\n key: \"index\",\n width: 80, \n fixed: 'left',\n render(text, record, index){return index + 1}\n },\n {\n title: \"订单编号\",\n dataIndex: \"orderCode\",\n key: \"orderCode\",\n width: 100, \n fixed: 'left',\n },\n {\n title: \"供应商名称\",\n dataIndex: \"supplierName\",\n key: \"supplierName\",\n width: 100\n },\n {\n title: \"类型\",\n dataIndex: \"type_name\",\n key: \"type_name\",\n width: 100\n },\n {\n title: \"采购组织\",\n dataIndex: \"purchasing\",\n key: \"purchasing\",\n width: 100\n },\n {\n title: \"采购组\",\n dataIndex: \"purchasingGroup\",\n key: \"purchasingGroup\",\n width: 100\n },\n {\n title: \"凭证日期\",\n dataIndex: \"voucherDate\",\n key: \"voucherDate\",\n width: 200,\n \n },\n {\n title: \"审批状态\",\n dataIndex: \"approvalState_name\",\n key: \"approvalState_name\",\n width: 100\n },\n {\n title: \"确认状态\",\n dataIndex: \"confirmState_name\",\n key: \"confirmState_name\",\n width: 100\n }, \n {\n title: \"关闭状态\",\n dataIndex: \"closeState_name\",\n key: \"closeState_name\",\n width: 100\n }\n];\n\nconst data = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"执行中\",\n closeState_name:\"未关闭\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"终止\",\n closeState_name:\"已关闭\",\n key: \"3\"\n }\n];\n\nclass Demo51 extends Component {\n render() {\n return ;\n }\n}\n\nexport default Demo51;", "desc": " 固定列到表格的左侧" }, { "example": _react2['default'].createElement(Demo0602, null), "title": " 右侧固定列", "code": "/**\n*\n* @title 右侧固定列\n* @parent 列操作-锁定 Fixed\n* @description 固定列到表格的右侧\n* demo0602\n*/\n\n\n\nimport React, { Component } from 'react';\nimport { Table, Popconfirm } from 'tinper-bee';\n\n\n\nconst columns = [\n {\n title: \"序号\",\n dataIndex: \"index\",\n key: \"index\",\n width: 80, \n fixed: 'left',\n render(text, record, index){return index + 1}\n },\n {\n title: \"订单编号\",\n dataIndex: \"orderCode\",\n key: \"orderCode\",\n width: 100, \n },\n {\n title: \"供应商名称\",\n dataIndex: \"supplierName\",\n key: \"supplierName\",\n width: 100\n },\n {\n title: \"类型\",\n dataIndex: \"type_name\",\n key: \"type_name\",\n width: 100\n },\n {\n title: \"采购组织\",\n dataIndex: \"purchasing\",\n key: \"purchasing\",\n width: 100\n },\n {\n title: \"采购组\",\n dataIndex: \"purchasingGroup\",\n key: \"purchasingGroup\",\n width: 100\n },\n {\n title: \"凭证日期\",\n dataIndex: \"voucherDate\",\n key: \"voucherDate\",\n width: 200,\n \n },\n {\n title: \"审批状态\",\n dataIndex: \"approvalState_name\",\n key: \"approvalState_name\",\n width: 100\n },\n {\n title: \"确认状态\",\n dataIndex: \"confirmState_name\",\n key: \"confirmState_name\",\n width: 100\n }, \n {\n title: \"关闭状态\",\n dataIndex: \"closeState_name\",\n key: \"closeState_name\",\n width: 100\n },\n {\n title: \"操作\",\n dataIndex: \"d\",\n key: \"d\",\n width:100,\n fixed: \"right\",\n render(text, record, index) {\n return (\n \n )\n }\n }\n];\n\nconst data = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"执行中\",\n closeState_name:\"未关闭\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"终止\",\n closeState_name:\"已关闭\",\n key: \"3\"\n },\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"执行中\",\n closeState_name:\"未关闭\",\n key: \"4\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"5\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"终止\",\n closeState_name:\"已关闭\",\n key: \"6\"\n }\n];\n\nclass Demo52 extends Component {\n render() {\n return ;\n }\n}\n\nexport default Demo52;", "desc": " 固定列到表格的右侧" }, { "example": _react2['default'].createElement(Demo0603, null), "title": " 动态设置列锁定、解除锁定", "code": "/**\n*\n* @title 动态设置列锁定、解除锁定\n* @parent 列操作-锁定 Fixed\n* @description 动态设置columns中数据的fixed属性值【fixed: \"left\",fixed: \"right\"】。\n* demo0603\n*/\nimport React, { Component } from 'react';\nimport { Table, Icon,Menu,Dropdown } from 'tinper-bee';\n\n\n\n\nconst { Item } = Menu;\n\nconst columns = [\n {\n title: \"序号\",\n dataIndex: \"index\",\n key: \"index\",\n width: 85, \n fixed: 'left',\n render(text, record, index){return index + 1}\n },\n {\n title: \"订单编号\",\n dataIndex: \"orderCode\",\n key: \"orderCode\",\n width: 120, \n fixed: 'left',\n },\n {\n title: \"供应商名称\",\n dataIndex: \"supplierName\",\n key: \"supplierName\",\n width: 150\n },\n {\n title: \"类型\",\n dataIndex: \"type_name\",\n key: \"type_name\",\n width: 100\n },\n {\n title: \"采购组织\",\n dataIndex: \"purchasing\",\n key: \"purchasing\",\n width: 100\n },\n {\n title: \"采购组\",\n dataIndex: \"purchasingGroup\",\n key: \"purchasingGroup\",\n width: 100\n },\n {\n title: \"凭证日期\",\n dataIndex: \"voucherDate\",\n key: \"voucherDate\",\n width: 200,\n \n },\n {\n title: \"审批状态\",\n dataIndex: \"approvalState_name\",\n key: \"approvalState_name\",\n width: 100\n },\n {\n title: \"确认状态\",\n dataIndex: \"confirmState_name\",\n key: \"confirmState_name\",\n width: 100\n }, \n {\n title: \"关闭状态\",\n dataIndex: \"closeState_name\",\n key: \"closeState_name\",\n width: 100\n }\n];\n\nconst data = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"执行中\",\n closeState_name:\"未关闭\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"终止\",\n closeState_name:\"已关闭\",\n key: \"3\"\n }\n];\n \nclass Demo24 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n columns:columns\n }\n }\n \n onSelect = ({key,item})=>{ \n console.log(`${key} selected`); //获取key\n let currentObject = item.props.data; //获取选中对象的数据\n let {columns} = this.state;\n let fixedCols = [];\n let nonColums = [];\n columns.find(da=>{\n if(da.key == key){\n da.fixed?delete da.fixed:da.fixed = 'left';\n }\n da.fixed?fixedCols.push(da):nonColums.push(da);\n });\n \n columns = [...fixedCols,...nonColums]\n\n this.setState({\n columns\n });\n }\n //表头增加下拉菜单\n renderColumnsDropdown(columns) {\n const icon ='uf-arrow-down';\n \n return columns.map((originColumn,index) => {\n let column = Object.assign({}, originColumn);\n let menuInfo = [], title='锁定';\n if(originColumn.fixed){\n title = '解锁'\n }\n menuInfo.push({\n info:title,\n key:originColumn.key,\n index:index\n });\n const menu = (\n )\n column.title = (\n \n {column.title}\n \n \n \n \n \n );\n return column;\n });\n \n }\n\n render() {\n let {columns} = this.state;\n columns = this.renderColumnsDropdown(columns);\n return(\n \n )\n }\n}\n\nexport default Demo24;", "desc": " 动态设置columns中数据的fixed属性值【fixed: \"left\",fixed: \"right\"】。", "scss_code": "th{\n .drop-menu{\n .uf{\n font-size: 12px;\n visibility: hidden;\n margin-left: 15px;\n }\n \n \n }\n &:hover{\n .uf{\n visibility: visible;\n }\n }\n\n}\n\n" }, { "example": _react2['default'].createElement(Demo0701, null), "title": " 按条件、值过滤", "code": "/**\n*\n* @title 按条件、值过滤\n* @parent 列操作-过滤 Filter\n* @description 可以根据输入项目以及判断条件对表格内的数据进行过滤。可在控制台查看序列化后的参数字符串。\n* demo0701\n*/\n\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\n\n\nconst columns26 = [\n { title: \"姓名\", width: 180, dataIndex: \"name\", key: \"name\", filterType: \"text\", filterDropdown: \"show\" },\n { title: \"年龄\", width: 150, dataIndex: \"age\", key: \"age\", filterType: \"dropdown\", filterDropdown: \"show\" },\n { title: \"日期\", width: 200, dataIndex: \"date\", key: \"date\", filterType: \"date\", filterDropdown: \"show\", format: \"YYYY-MM-DD\" },\n { title: \"居住地址\", width: 150, dataIndex: \"address\", key: \"address\", filterType: \"dropdown\", filterDropdown: \"show\" },\n { title: \"备注\", dataIndex: \"mark\", key: \"mark\" }\n];\n\nconst data26 = [\n {\n key: \"1\",\n name: \"John Brown\",\n age: 32,\n date: \"2018-09-19\",\n address: \"朝阳区\",\n mark: \"无\"\n },\n {\n key: \"2\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"朝阳区\",\n mark: \"无\"\n },\n {\n key: \"3\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"东城区\",\n mark: \"无\"\n },\n {\n key: \"4\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"东城区\",\n mark: \"无\"\n }, {\n key: \"5\",\n name: \"John Brown\",\n age: 32,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n },\n {\n key: \"6\",\n name: \"Jim Green\",\n age: 48,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n },\n {\n key: \"7\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n },\n {\n key: \"8\",\n name: \"Jim Green\",\n age: 38,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n }\n];\n\nclass Demo26 extends Component {\n handlerFilterChange = (key, val, condition) => {\n console.log('参数:key=', key, ' value=', val, 'condition=', condition);\n }\n\n handlerFilterClear = (key) => {\n console.log('清除条件', key);\n }\n render() {\n return ()\n onFilterClear={this.handlerFilterClear}//触发输入操作以及其他的回调(key,val)=>()\n filterDelay={500}//输入文本多少ms触发回调函数,默认300ms\n filterable={true}//是否开启过滤数据功能\n bordered\n columns={columns26}\n data={data26} />;\n }\n}\n\nexport default Demo26;", "desc": " 可以根据输入项目以及判断条件对表格内的数据进行过滤。可在控制台查看序列化后的参数字符串。" }, { "example": _react2['default'].createElement(Demo0702, null), "title": " 复杂表格中行过滤", "code": "/**\n*\n* @title 复杂表格中行过滤\n* @parent 列操作-过滤 Filter\n* @description 在过滤数据行的基础上增加列拖拽、动态菜单显示、下拉条件动态传入自定义等\n* demo0702\n*/\n\nimport React, { Component } from 'react';\nimport { Table, Icon,Checkbox } from 'tinper-bee';\n\n\n\nimport multiSelect from 'bee-table/build/lib/multiSelect';\nimport sort from 'bee-table/build/lib/sort';\n\nconst data27 = [\n {\n key: \"1\",\n name: \"John Brown\",\n age: 32,\n date: \"2018-09-19\",\n address: \"朝阳区\",\n mark: \"无\"\n },\n {\n key: \"2\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"朝阳区\",\n mark: \"无\"\n },\n {\n key: \"3\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"东城区\",\n mark: \"无\"\n },\n {\n key: \"4\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"东城区\",\n mark: \"无\"\n }, {\n key: \"5\",\n name: \"John Brown\",\n age: 32,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n },\n {\n key: \"6\",\n name: \"Jim Green\",\n age: 48,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n },\n {\n key: \"7\",\n name: \"Jim Green\",\n age: 40,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n },\n {\n key: \"8\",\n name: \"Jim Green\",\n age: 38,\n date: \"2018-09-18\",\n address: \"海淀区\",\n mark: \"无\"\n }\n];\n\n\nconst MultiSelectTable = multiSelect(Table, Checkbox);\nconst ComplexTable = sort(MultiSelectTable, Icon);\nclass Demo27 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n dropdownvalue: []\n }\n }\n handlerFilterChange = (key, val, condition) => {\n console.log('参数:key=', key, ' value=', val, 'condition=', condition);\n }\n\n handlerFilterClear = (key) => {\n console.log('清除条件', key);\n }\n getSelectedDataFunc = data => {\n console.log(data);\n }\n onSelect = (item) => {\n console.log(item);\n }\n\n render() {\n let multiObj = {\n type: \"checkbox\"\n };\n let columns27 = [\n {\n title: \"姓名\",\n width: 180,\n dataIndex: \"name\",\n key: \"name\",\n filterType: \"text\",//输入框类型\n filterDropdown: \"show\",//显示条件\n filterDropdownType: \"string\"//字符条件\n },\n {\n title: \"年龄\",\n width: 180,\n dataIndex: \"age\",\n key: \"age\",\n filterType: \"number\",//输入框类型\n filterDropdown: \"show\",//显示条件\n filterDropdownType: \"number\"//字符条件\n },\n {\n title: \"日期\",\n width: 190,\n dataIndex: \"date\",\n key: \"date\",\n filterType: \"date\",//输入框类型\n filterDropdown: \"show\",//显示条件\n filterDropdownType: \"string\"//字符条件\n },\n {\n title: \"时间范围\",\n width: 290,\n dataIndex: \"mark\",\n key: \"mark\",\n filterType: \"daterange\",//输入框类型\n filterDropdown: \"show\",//显示条件\n filterDropdownType: \"number\"//字符条件\n },\n {\n title: \"地址\",\n width: 100,\n dataIndex: \"address\",\n key: \"address\",\n filterType: \"dropdown\",//输入框类型\n filterDropdown: \"show\",//显示条件\n filterDropdownType: \"number\"//字符条件\n }\n ];\n return ()\n onFilterClear={this.handlerFilterClear}//触发输入操作以及其他的回调(key,val)=>()\n filterDelay={500}//输入文本多少ms触发回调函数,默认500ms\n filterable={true}//是否开启过滤数据功能\n getSelectedDataFunc={this.getSelectedDataFunc}\n bordered\n multiSelect={multiObj}\n columns={columns27}\n data={data27} />;\n }\n}\n\nexport default Demo27;", "desc": " 在过滤数据行的基础上增加列拖拽、动态菜单显示、下拉条件动态传入自定义等" }, { "example": _react2['default'].createElement(Demo0802, null), "title": " 列过滤面板", "code": "/**\n*\n* @title 列过滤面板\n* @parent 列操作-隐藏 Hide\n* @description 点击表头右侧按钮,设置显示或隐藏表格列。可以自定义设置显示某列,通过ifshow属性控制,默认值为true(显示表格所有列)。afterFilter方法为列过滤后触发的回调函数。\n* demo0802\n*/\n\n\nimport React, { Component } from 'react';\nimport { Table, Icon,Popover } from 'tinper-bee';\n\n\nimport filterColumn from 'bee-table/build/lib/filterColumn';\nimport sum from 'bee-table/build/lib/sum';\n\nconst data = [\n { \n orderCode:\"NU0391025\", \n supplierName: \"xx供应商\",\n type_name: \"1\",\n purchasing:'组织c', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年03月18日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"执行中\",\n closeState_name:\"未关闭\",\n key: \"1\"\n }, \n { \n orderCode:\"NU0391026\", \n supplierName: \"xx供应商\",\n type_name: \"2\",\n purchasing:'组织a', \n purchasingGroup:\"bb\",\n voucherDate:\"2018年02月05日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"待确认\",\n closeState_name:\"未关闭\",\n key: \"2\"\n },\n { \n orderCode:\"NU0391027\", \n supplierName: \"xx供应商\",\n type_name: \"3\",\n purchasing:'组织b', \n purchasingGroup:\"aa\",\n voucherDate:\"2018年07月01日\",\n approvalState_name:\"已审批\",\n confirmState_name:\"终止\",\n closeState_name:\"已关闭\",\n key: \"3\"\n }\n];\n\nconst FilterColumnTable = filterColumn(Table, Popover, Icon);\n\nconst defaultProps21 = {\n prefixCls: \"bee-table\"\n};\n\nclass Demo21 extends Component {\n constructor(props) {\n super(props);\n this.state ={\n columns: [\n {\n title: \"序号\",\n dataIndex: \"index\",\n key: \"index\",\n width: 80, \n fixed: 'left',\n render(text, record, index){return index + 1}\n },\n {\n title: \"订单编号\",\n dataIndex: \"orderCode\",\n key: \"orderCode\",\n width: 100, \n fixed: 'left',\n required: true\n },\n {\n title: \"供应商名称\",\n dataIndex: \"supplierName\",\n key: \"supplierName\",\n width: 150,\n required: true\n },\n {\n title: \"类型\",\n dataIndex: \"type_name\",\n key: \"type_name\",\n width: 100\n },\n {\n title: \"采购组织\",\n dataIndex: \"purchasing\",\n key: \"purchasing\",\n width: 100\n },\n {\n title: \"单据日期\",\n dataIndex: \"voucherDate\",\n key: \"voucherDate\",\n width: 150\n },\n {\n title: \"审批状态\",\n dataIndex: \"approvalState_name\",\n key: \"approvalState_name\",\n width: 150\n }\n ]};\n }\n afterFilter = (optData,columns)=>{\n if(optData.key == 'b'){\n if(optData.ifshow){\n columns[2].ifshow = false;\n }else{\n columns[2].ifshow = true;\n }\n this.setState({\n columns21 :columns,\n showFilterPopover:true\n });\n }\n \n }\n \n render() {\n return ;\n }\n}\n\nDemo21.defaultProps = defaultProps21;\nexport default Demo21;", "desc": " 点击表头右侧按钮,设置显示或隐藏表格列。可以自定义设置显示某列,通过ifshow属性控制,默认值为true(显示表格所有列)。afterFilter方法为列过滤后触发的回调函数。" }, { "example": _react2['default'].createElement(Demo0901, null), "title": " 列排序", "code": "/**\n* @title 列排序\n* @parent 列操作-排序 Sort\n* @description column中增加sorter: (a, b) => a.c - b.c 这里的a,b代表前后两个数据,c代表比较当前对象的字段名称\n* demo0901\n*/\n\n\nimport React, { Component } from 'react';\nimport { Table, Icon } from 'tinper-bee';\n\n\nimport sort from \"bee-table/build/lib/sort.js\";\n\nlet ComplexTable = sort(Table, Icon);\nconst columns11 = [\n {\n title: \"单据编号\",\n dataIndex: \"num\",\n key: \"num\",\n width: 120,\n fixed: \"left\"\n },\n {\n title: \"单据日期\",\n dataIndex: \"date\",\n key: \"date\",\n width: 200,\n },\n {\n title: \"供应商\",\n dataIndex: \"supplier\",\n key: \"supplier\",\n width: 100\n },\n {\n title: \"联系人\",\n dataIndex: \"contact\",\n key: \"contact\",\n },\n {\n title: \"整单数量\",\n dataIndex: \"total\",\n key: \"total\",\n width: 150,\n sorter: (a, b) => a.total - b.total\n }\n];\n\nconst data11 = [\n { num: \"NU0391001\", date: \"2019-03-01\", supplier: 'xx供应商',contact:'Tom', total:30 ,key: \"1\" },\n { num: \"NU0391002\", date: \"2018-11-02\", supplier: 'yy供应商',contact:'Jack', total:41 ,key: \"2\" },\n { num: \"NU0391003\", date: \"2019-05-03\", supplier: 'zz供应商',contact:'Jane', total:25 ,key: \"3\" }\n];\n\nconst defaultProps11 = {\n prefixCls: \"bee-table\"\n};\nclass Demo11 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n sortOrder: \"\",\n data: data11\n };\n }\n render() {\n\n return ;\n }\n}\nDemo11.defaultProps = defaultProps11;\n\n\nexport default Demo11;", "desc": " column中增加sorter: (a, b) => a.c - b.c 这里的a,b代表前后两个数据,c代表比较当前对象的字段名称" }, { "example": _react2['default'].createElement(Demo0902, null), "title": " 后端列排序", "code": "/**\n* @title 后端列排序\n* @parent 列操作-排序 Sort\n* @description 可在控制台中查看序列化后的参数字符串,将参数传递给后端即可进行列排序\n* demo0902\n*/\n\n\nimport React, { Component } from 'react';\nimport { Table, Icon } from 'tinper-bee';\n\n\nimport sort from \"bee-table/build/lib/sort.js\";\nlet ComplexTable = sort(Table, Icon);\n\n// const columns11 = [\n// {\n// title: \"名字\",\n// dataIndex: \"a\",\n// key: \"a\",\n// width: 100\n// },\n// {\n// title: \"性别\",\n// dataIndex: \"b\",\n// key: \"b\",\n// width: 100\n// },\n// {\n// title: \"年龄\",\n// dataIndex: \"c\",\n// key: \"c\",\n// width: 200,\n// sorter: (a, b) => a.c - b.c\n// },\n// {\n// title: \"武功级别\",\n// dataIndex: \"d\",\n// key: \"d\"\n// },\n// {\n// title: \"分数\",\n// dataIndex: \"e\",\n// key: \"e\",\n// sorter: (a, b) => a.c - b.c\n// },\n// ];\n\n// const data11 = [\n// { a: \"杨过\", b: \"男\", c: 30,d:'内行', e:139,key: \"2\" },\n// { a: \"令狐冲\", b: \"男\", c: 41,d:'大侠', e:109, key: \"1\" },\n// { a: \"郭靖\", b: \"男\", c: 25,d:'大侠', e:159, key: \"3\" }\n// ];\nconst columns11 = [\n {\n title: \"单据编号\",\n dataIndex: \"num\",\n key: \"num\",\n width: 120,\n fixed: \"left\"\n },\n {\n title: \"单据日期\",\n dataIndex: \"date\",\n key: \"date\",\n width: 200,\n },\n {\n title: \"供应商\",\n dataIndex: \"supplier\",\n key: \"supplier\",\n width: 100\n },\n {\n title: \"联系人\",\n dataIndex: \"contact\",\n key: \"contact\",\n },\n {\n title: \"整单数量\",\n dataIndex: \"total\",\n key: \"total\",\n width: 150,\n sorter: (a, b) => a.total - b.total\n },\n {\n title: \"金额\",\n dataIndex: \"money\",\n key: \"money\",\n width: 100,\n sorter: (a, b) => a.money - b.money\n }\n];\n\nconst data11 = [\n { num: \"NU0391001\", date: \"2019-03-01\", supplier: 'xx供应商',contact:'Tom', total:30 ,money: 100,key: \"1\" },\n { num: \"NU0391002\", date: \"2018-11-02\", supplier: 'yy供应商',contact:'Jack', total:41 ,money: 50,key: \"2\" },\n { num: \"NU0391003\", date: \"2019-05-03\", supplier: 'zz供应商',contact:'Jane', total:25 ,money: 200,key: \"3\" }\n];\n\nconst defaultProps = {\n prefixCls: \"bee-table\"\n};\nclass Demo28 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n sortOrder: \"\",\n data: data11\n };\n }\n /**\n * 后端获取数据\n */\n sortFun = (sortParam)=>{\n console.info(sortParam);\n //将参数传递给后端排序\n }\n render() {\n let sortObj = {\n mode:'multiple',\n backSource:true,\n sortFun:this.sortFun\n }\n return ;\n }\n}\nDemo28.defaultProps = defaultProps;\n\n\nexport default Demo28;", "desc": " 可在控制台中查看序列化后的参数字符串,将参数传递给后端即可进行列排序" }, { "example": _react2['default'].createElement(Demo0903, null), "title": " 多列排序", "code": "/**\n *\n * @title 多列排序\n * @parent 列操作-排序 Sort\n * @description 结合多列排序、全选功能、合计功能的表格示例。新增排序后触发的回调函数sorterClick。\n * demo0903\n */\n\nimport React, { Component } from \"react\";\nimport { Table, Checkbox,Button,Icon } from 'tinper-bee';\n\n\nimport multiSelect from \"bee-table/build/lib/multiSelect.js\";\nimport sort from \"bee-table/build/lib/sort.js\";\nimport sum from \"bee-table/build/lib/sum.js\";\n\nconst columns13 = [\n {\n title: \"订单编号\",\n dataIndex: \"a\",\n key: \"a\",\n className:'dfasd',\n width: 200,\n sorter: (pre, after) => {return pre.a.localeCompare(after.a)},\n sorterClick:(data,type)=>{//排序的回调函数\n //type value is up or down\n console.log(\"data\",data);\n }\n },\n {\n title: \"金额\",\n dataIndex: \"b\",\n key: \"b\",\n width: 200,\n sumCol: true,\n sorter: (pre, after) => pre.b - after.b,\n sorterClick:(data,type)=>{//排序的回调函数\n //type value is up or down\n console.log(\"data\",data);\n }\n },\n {\n title: \"整单数量\",\n dataIndex: \"c\",\n key: \"c\",\n width: 200,\n sumCol: true,\n sorter: (pre, after) => pre.c - after.c,\n sorterClick:(data,type)=>{//排序的回调函数\n //type value is up or down\n console.log(\"data\",data);\n }\n },\n {\n title: \"日销售量\",\n dataIndex: \"e\",\n key: \"e\",\n width: 200,\n sumCol: true,\n sorter: (pre, after) => pre.e - after.e,\n },\n {\n title: \"供应商\",\n dataIndex: \"d\",\n key: \"d\",\n width: 200\n }\n];\n\nconst data13 = [\n { a: \"NU0391001\", b: 675, c: 30, d: \"xx供应商\",e:100, key: \"2\" },\n { a: \"NU0391002\", b: 43, c: 41, d: \"yy供应商\",e:90, key: \"1\" },\n { a: \"NU0391003\", b: 43, c: 81, d: \"zz供应商\", e:120,key: \"4\" },\n { a: \"NU0391004\", b: 43, c: 81, d: \"aa供应商\", e:130,key: \"5\" },\n { a: \"NU0391005\", b: 153, c: 25, d: \"bb供应商\",e:90, key: \"3\" }\n];\n\n\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\nlet ComplexTable = multiSelect(sort(sum(Table, Icon)), Checkbox);\n\nclass Demo13 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data13: data13,\n selectedRow: this.selectedRow,\n selectDisabled: this.selectDisabled\n };\n }\n getSelectedDataFunc = data => {\n console.log(data);\n };\n selectDisabled = (record, index) => {\n // console.log(record);\n if (index === 1) {\n return true;\n }\n return false;\n };\n selectedRow = (record, index) => {\n // console.log(record);\n if (index === 0) {\n return true;\n }\n return false;\n };\n onClick = () => {\n this.setState({\n selectedRow: function() {}\n });\n };\n\n render() {\n let multiObj = {\n type: \"checkbox\"\n };\n let sortObj = {\n mode:'multiple'\n }\n \n return (\n \n \n \n
\n );\n }\n}\nexport default Demo13;", "desc": " 结合多列排序、全选功能、合计功能的表格示例。新增排序后触发的回调函数sorterClick。" }, { "example": _react2['default'].createElement(Demo1001, null), "title": " 拖拽改变列顺序", "code": "/**\n*\n* @title 拖拽改变列顺序\n* @parent 列操作-拖拽 Drag\n* @description 点击选择表头并左右拖拽,可以改变表格列顺序。 onDragEnd 方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。\n* demo1001\n*/\nimport React, { Component } from 'react';\nimport { Table, Icon } from 'tinper-bee';\n\n\n \nimport dragColumn from 'bee-table/build/lib/dragColumn';\n\nconst columns = [\n {\n title: \"订单编号\",\n dataIndex: \"a\",\n key: \"a\",\n width: 100\n },\n {\n title: \"单据日期\",\n dataIndex: \"b\",\n key: \"b\",\n width: 200\n },\n {\n title: \"供应商\",\n dataIndex: \"c\",\n key: \"c\",\n width: 200,\n sumCol: true,\n sorter: (a, b) => a.c - b.c\n },\n {\n title: \"联系人\",\n dataIndex: \"d\",\n key: \"d\",\n width: 500,\n },\n {\n title: \"操作\",\n dataIndex: \"e\",\n key: \"e\",\n width: 200,\n fixed: 'right',\n }\n];\n\nconst data = [\n { a: \"NU0391001\", b: \"2019-03-01\", c: 'xx供应商',d:'Tom',e:'...', key: \"2\" },\n { a: \"NU0391002\", b: \"2018-11-02\", c: 'yy供应商',d:'Jack',e:'...', key: \"1\" },\n { a: \"NU0391003\", b: \"2019-05-03\", c: 'zz供应商',d:'Jane',e:'...', key: \"3\" }\n];\n\nconst DragColumnTable = dragColumn(Table);\n\nconst defaultProps22 = {\n prefixCls: \"bee-table\"\n};\n\nclass Demo22 extends Component {\n constructor(props) {\n super(props); \n }\n \n render() {\n return {\n console.log(\"--拖拽交换列onDrop触发事件\");\n console.log(\"event.target:\",event.target);\n console.log(\"data:\",data);\n console.log(\"拖拽完成后的columns:\",columns);\n }}\n\n onDragEnd ={(event,data,columns)=>{\n console.log(\"--拖拽交换列后触发事件\");\n console.log(\"event.target:\",event.target);\n console.log(\"data:\",data);\n console.log(\"拖拽完成后的columns:\",columns);\n }}\n />;\n }\n}\n\nDemo22.defaultProps = defaultProps22;\nexport default Demo22;", "desc": " 点击选择表头并左右拖拽,可以改变表格列顺序。 onDragEnd 方法是拖拽交换列后触发的回调函数。注意:固定列不可以交换。" }, { "example": _react2['default'].createElement(Demo1002, null), "title": " 拖拽改变列宽度", "code": "/**\n*\n* @title 拖拽改变列宽度\n* @parent 列操作-拖拽 Drag\n* @description onDropBorder方法为调整列宽后触发的回调函数。注:不支持tree结构的表头。\n* demo1002\n*/\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\n\n \nimport dragColumn from 'bee-table/build/lib/dragColumn';\n\nconst columns23 = [\n {\n title: \"订单编号\",\n dataIndex: \"a\",\n key: \"a\",\n width: '200',\n fixed:'left'\n },\n {\n title: \"单据日期\",\n dataIndex: \"b\",\n key: \"b\",\n width: '600'\n },\n {\n title: \"供应商\",\n dataIndex: \"c\",\n key: \"c\",\n width: '200',\n }, \n {\n title: \"联系人\",\n dataIndex: \"d\",\n key: \"d\",\n width: 500,\n }\n];\n\nconst data23 = [\n { a: \"NU0391001\", b: \"2019-03-01\", c: \"xx供应商\",d:'Tom', key: \"2\" },\n { a: \"NU0391002\", b: \"2018-11-02\", c: \"yy供应商\",d:'Jack', key: \"1\" },\n { a: \"NU0391003\", b: \"2019-05-03\", c: \"zz供应商\",d:'Jane', key: \"3\" }\n];\n\nconst DragColumnTable = dragColumn(Table);\n\nclass Demo23 extends Component {\n constructor(props) {\n super(props); \n }\n\n render() {\n return {\n console.log(width+\"--调整列宽后触发事件\",e.target);\n }}\n />;\n }\n}\n\nexport default Demo23;", "desc": " onDropBorder方法为调整列宽后触发的回调函数。注:不支持tree结构的表头。" }, { "example": _react2['default'].createElement(Demo1101, null), "title": " 嵌套子表格", "code": "/**\n*\n* @title 嵌套子表格\n* @parent 扩展行 Expanded Row\n* @description 通过expandedRowRender参数来实现子表格。收起和展开的图标可自定义传入。注意:多选功能和嵌套表格一起使用时,需要设置 expandIconAsCell={true},把展开按钮放在单元格中展示。\n* demo1101\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Popconfirm,Icon,Checkbox } from 'tinper-bee';\n\n\nimport multiSelect from \"bee-table/build/lib/multiSelect\";\n\nconst columns16 = [\n {\n title: \"操作\",\n dataIndex: \"d\",\n key: \"d\", \n width:100,\n render(text, record, index) {\n return (\n \n \n 一些操作\n \n \n );\n }\n },\n { title: \"订单编号\", dataIndex: \"a\", key: \"a\", width: 250 },\n { id: \"123\", title: \"单据日期\", dataIndex: \"b\", key: \"b\", width: 100 },\n { title: \"供应商\", dataIndex: \"c\", key: \"c\", width: 200, fixed:'right' },\n \n];\nconst columns17 = [\n { title: \"订单编号\", dataIndex: \"a\", key: \"a\", width: 100 },\n { id: \"123\", title: \"单据日期\", dataIndex: \"b\", key: \"b\", width: 100 },\n { title: \"供应商\", dataIndex: \"c\", key: \"c\", width: 200 }\n];\n\nconst data16 = [\n { a: \"NU0391001\", b: \"2019-03-01\", c: \"xx供应商\", d: \"操作\", key: \"1\" },\n { a: \"NU0391002\", b: \"2018-11-02\", c: \"yy供应商\", d: \"操作\", key: \"2\" },\n { a: \"NU0391003\", b: \"2019-05-03\", c: \"zz供应商\", d: \"操作\", key: \"3\" }\n];\nconst MultiSelectTable = multiSelect(Table,Checkbox);\nclass Demo16 extends Component {\n constructor(props){\n super(props);\n this.state={\n data_obj:{}\n }\n }\n expandedRowRender = (record, index, indent) => {\n return (\n \n );\n };\n getData=(expanded, record)=>{\n //当点击展开的时候才去请求数据\n let new_obj = Object.assign({},this.state.data_obj);\n if(expanded){\n if(record.key==='1'){\n new_obj[record.key] = [\n { a: \"NU0391056\", b: \"2019-03-01\", c: \"gys1\", d: \"操作\", key: \"1\" },\n { a: \"NU0391057\", b: \"2018-11-02\", c: \"gys2\", d: \"操作\", key: \"2\" },\n ]\n this.setState({\n data_obj:new_obj\n })\n }else{\n new_obj[record.key] = [\n { a: \"NU0391079\", b: \"2019-04-17\", c: \"gys5\", d: \"操作\", key: \"3\" },\n ]\n this.setState({\n data_obj:new_obj\n })\n }\n }\n }\n\n haveExpandIcon=(record, index)=>{\n //控制是否显示行展开icon,该参数只有在和expandedRowRender同时使用才生效\n if(index == 0){\n return true;\n }\n return false;\n }\n\n render() {\n return (\n }\n expandedIcon={}\n />\n );\n }\n}\n\nexport default Demo16;\n", "desc": " 通过expandedRowRender参数来实现子表格。收起和展开的图标可自定义传入。注意:多选功能和嵌套表格一起使用时,需要设置 expandIconAsCell={true},把展开按钮放在单元格中展示。", "scss_code": ".expanded-table{\r\n .expand-icon-con .uf{\r\n font-size: 12px;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo1102, null), "title": " 树型表格数据展示", "code": "/**\n*\n* @title 树型表格数据展示\n* @parent 扩展行 Expanded Row\n* @description 通过在data中配置children数据,来自动生成树形表格\n* demo1102\n*/\n\n\nimport React, { Component } from 'react';\nimport { Table } from 'tinper-bee';\n\n\n\nconst columns4 = [\n {\n title: \"订单编号\",\n dataIndex: \"name\",\n key: \"name\",\n width: \"40%\"\n },\n {\n title: \"单据日期\",\n dataIndex: \"age\",\n key: \"age\",\n width: \"30%\"\n },\n {\n title: \"供应商\",\n dataIndex: \"address\",\n key: \"address\"\n }\n];\n\nconst data4 = [\n {\n key: 1,\n name: \"NU0391001\",\n age: \"2019-03-01\",\n address: \"供应商1\",\n children: [\n {\n key: 11,\n name: \"NU0391002\",\n age: \"2019-03-02\",\n address: \"供应商2\"\n },\n {\n key: 12,\n name: \"NU0391003\",\n age: \"2019-03-03\",\n address: \"供应商3\",\n children: [\n {\n key: 121,\n name: \"NU0391004\",\n age: \"2019-03-04\",\n address: \"供应商4\"\n }\n ]\n },\n {\n key: 13,\n name: \"NU0391005\",\n age: \"2019-03-05\",\n address: \"供应商5\",\n children: [\n {\n key: 131,\n name: \"NU0391006\",\n age: \"2019-03-06\",\n address: \"供应商6\",\n children: [\n {\n key: 1311,\n name: \"NU0391007\",\n age: \"2019-03-07\",\n address: \"供应商7\"\n },\n {\n key: 1312,\n name: \"NU0391008\",\n age: \"2019-03-08\",\n address: \"供应商8\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n key: 2,\n name: \"NU0391009\",\n age: \"2019-03-09\",\n address: \"供应商9\"\n }\n];\nclass Demo4 extends Component {\n\n constructor(props){\n super(props);\n this.state = {\n data: data4,\n factoryValue: 0,\n selectedRow: new Array(data4.length)//状态同步\n }\n }\n\n render() {\n return {\n if (this.state.selectedRow[index]) {\n return 'selected';\n } else {\n return '';\n }\n }}\n onRowClick={(record,index,indent)=>{\n let selectedRow = new Array(this.state.data.length);\n selectedRow[index] = true;\n this.setState({\n factoryValue: record,\n selectedRow: selectedRow\n });\n }}\n rowKey=\"key\"//每条数据的唯一标示,默认为key,如果不是key,必须传\n columns={columns4} data={data4} />;\n }\n}\n\n\nexport default Demo4;", "desc": " 通过在data中配置children数据,来自动生成树形表格" }, { "example": _react2['default'].createElement(Demo1103, null), "title": " 自定义表格标题、表尾、选中行颜色", "code": "/**\r\n*\r\n* @title 自定义表格标题、表尾、选中行颜色\r\n* @parent 扩展行 Expanded Row\r\n* @description 可根据业务场景设置不同的`title`和`footer`。选中行颜色可用rowClassName作为选择器自定义css样式。\r\n* demo1103\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip, } from 'tinper-bee';\r\n\r\n\r\n\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 100 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\r\n];\r\n\r\nclass Demo26 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n if (this.state.selectedRowIndex == index) {\r\n return 'selected';\r\n } else {\r\n return '';\r\n }\r\n }}\r\n onRowClick={(record,index,indent)=>{\r\n this.setState({ \r\n selectedRowIndex: index\r\n });\r\n }}\r\n title={currentData => 员工信息统计表
}\r\n footer={currentData => 合计: 共{data.length}条数据
}\r\n /> \r\n );\r\n }\r\n}\r\n\r\nexport default Demo26;\r\n", "desc": " 可根据业务场景设置不同的`title`和`footer`。选中行颜色可用rowClassName作为选择器自定义css样式。" }, { "example": _react2['default'].createElement(Demo1105, null), "title": " 紧凑型、宽松型", "code": "/**\n*\n* @title 紧凑型、宽松型\n* @parent 扩展行 Expanded Row\n* @description 设置`size`属性使用紧凑型表格(`sm`)或宽松型表格(`lg`)。\n* demo1105\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip,Tag } from 'tinper-bee';\n\n\n\nconst columns = [\n { title: \"订单编号\", dataIndex: \"orderNum\", key: \"orderNum\", width: 100 },\n { title: \"采购组织\", dataIndex: \"org\", key: \"org\", width: 200 },\n { title: \"供应商\", dataIndex: \"supplier\", key: \"supplier\", width: 100 },\n { title: \"订单日期\", dataIndex: \"orderDate\", key: \"orderDate\", width: 150 },\n { title: \"总数量\", dataIndex: \"quantity\", key: \"quantity\", width: 100 },\n { title: \"单据状态\", dataIndex: \"status\", key: \"status\", width: 100, \n render: (text, record, index) => {\n return (\n {text.desc}\n );\n }},\n { title: \"提交人\", dataIndex: \"submitter\", key: \"submitter\", width: 100 },\n { title: \"单位\", dataIndex: \"unit\", key: \"unit\", width: 100 },\n { title: \"总税价合计\", dataIndex: \"sum\", key: \"sum\", width: 100 },\n];\n\nconst data = [\n { \n orderNum: \"NU0391025\", \n org: \"用友网络科技股份有限公司\", \n supplier: \"xx供应商\", \n orderDate: '2018年03月18日', \n quantity: '100.00', \n status: {type:'success' ,desc:'正常'}, \n submitter: '小张', \n unit: 'pc', \n sum:'8,487.00', \n key: \"1\" \n },\n { \n orderNum: \"NU0391026\", \n org: \"用友网络科技股份有限公司\", \n supplier: \"xx供应商\", \n orderDate: '2018年02月05日', \n quantity: '91.00', \n status: {type:'danger' ,desc:'异常'}, \n submitter: '小红', \n unit: 'pc', \n sum:'675.00', \n key: \"2\" \n },\n { \n orderNum: \"NU0391027\", \n org: \"用友网络科技股份有限公司\", \n supplier: \"xx供应商\", \n orderDate: '2018年07月01日', \n quantity: '98.00', \n status: {type:'success' ,desc:'正常'}, \n submitter: '小李', \n unit: 'pc', \n sum:'1,531.00', \n key: \"3\" \n }\n];\n\nclass Demo1 extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo1;\n", "desc": " 设置`size`属性使用紧凑型表格(`sm`)或宽松型表格(`lg`)。" }, { "example": _react2['default'].createElement(Demo1106, null), "title": " 自定义行高", "code": "/**\n*\n* @title 自定义行高\n* @parent 扩展行 Expanded Row\n* @description 设置`height`属性自定义表体行高,设置`headerHeight`属性自定义表头高度。鼠标hover行时呼出操作按钮。\n* demo1106\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip } from 'tinper-bee';\n\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150, className: \"rowClassName\"},\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 100 },\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 100 },\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 }\n];\n\nconst data = [\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\n];\n\nclass Demo1 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: data,\n selectedRowIndex: 0\n }\n }\n handleClick = () => {\n console.log('这是第' , this.currentIndex , '行');\n console.log('内容:' , this.currentRecord);\n }\n\n onRowHover=(index,record)=>{\n this.currentIndex = index;\n this.currentRecord = record;\n }\n\n getHoverContent=()=>{\n return
\n }\n\n render() {\n return (\n {\n this.setState({\n selectedRowIndex: index\n });\n }}\n />\n\n \n );\n }\n}\n\nexport default Demo1;\n", "desc": " 设置`height`属性自定义表体行高,设置`headerHeight`属性自定义表头高度。鼠标hover行时呼出操作按钮。" }, { "example": _react2['default'].createElement(Demo1107, null), "title": " 图片在表格中的展示", "code": "/**\n*\n* @title 图片在表格中的展示\n* @parent 扩展行 Expanded Row\n* @description 根据图片高度自动撑开行高,可结合图片查看器使用 http://design.yonyoucloud.com/tinper-bee/bee-viewer, 注:如果图片在固定列中,可以使用heightConsistent属性,当此属性为true,就不会出现错行问题\n* demo1107\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Button,Tooltip } from 'tinper-bee';\n\n\n\nconst columns = [\n {\n title: \"序号\",\n dataIndex: \"index\",\n key: \"index\",\n width: 80,\n render(text, record, index) {\n return index + 1;\n }\n },\n {\n title: \"图样\",\n dataIndex: \"picture\",\n key: \"picture\",\n render(text, record, index) {\n return \n }\n },\n {\n title: \"组织部门\",\n dataIndex: \"orgDept\",\n key: \"orgDept\",\n width: 100,\n },\n {\n title: \"设施管理部门\",\n dataIndex: \"facilityManageUnit\",\n key: \"facilityManageUnit\",\n width: 150,\n },\n {\n title: \"案卷编号\",\n dataIndex: \"docketnum\",\n key: \"docketnum\",\n width: 100,\n },\n {\n title: \"数量\",\n dataIndex: \"num\",\n key: \"num\",\n width: 100,\n },\n {\n title: \"首次发现时间\",\n dataIndex: \"discoveryTime\",\n key: \"discoveryTime\",\n width: 150,\n },\n {\n title: \"实际修复时间\",\n dataIndex: \"repairTime\",\n key: \"repairTime\",\n width: 150,\n }\n];\n\nconst data = [\n { key: \"1\", orgDept: \"组织1\", facilityManageUnit: \"部门1\", docketnum: 41, num: \"1\", discoveryTime: \"2018-10-17\", repairTime: \"2018-10-30\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-1-min.jpg\"},\n { key: \"2\", orgDept: \"组织2\", facilityManageUnit: \"部门2\", docketnum: 30, num: \"2\", discoveryTime: \"2019-01-15\", repairTime: \"2019-01-20\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-2-min.jpg\"},\n { key: \"3\", orgDept: \"组织3\", facilityManageUnit: \"部门3\", docketnum: 35, num: \"3\", discoveryTime: \"2019-04-10\", repairTime: \"2019-04-17\", picture: \"http://design.yonyoucloud.com/static/bee.tinper.org-demo/swiper-demo-3-min.jpg\"}\n];\n\nclass Demo1107 extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo1107;\n", "desc": " 根据图片高度自动撑开行高,可结合图片查看器使用 http://design.yonyoucloud.com/tinper-bee/bee-viewer, 注:如果图片在固定列中,可以使用heightConsistent属性,当此属性为true,就不会出现错行问题" }, { "example": _react2['default'].createElement(Demo1108, null), "title": " 自定义行、列合并", "code": "/**\n*\n* @title 自定义行、列合并\n* @parent 扩展行 Expanded Row\n* @description 表头只支持列合并,使用 column 里的 colSpan 进行设置。表格支持行/列合并,使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。\n* demo1108\n*/\n\nimport React, { Component } from \"react\";\nimport { Button, Table } from 'tinper-bee';\n\n\nconst renderContent = (value, row, index) => {\n const obj = {\n children: value,\n props: {},\n };\n if (index === 4) {\n obj.props.colSpan = 0;\n }\n return obj;\n};\n\nconst columns = [{\n title: '姓名',\n key: \"name\",\n dataIndex: 'name',\n render: (text, row, index) => {\n if (index < 4) {\n return {text};\n }\n return {\n children: {text},\n props: {\n colSpan: 5,\n },\n };\n },\n}, {\n title: '年龄',\n key: \"age\",\n dataIndex: 'age',\n render: renderContent,\n}, {\n title: '联系方式',\n colSpan: 2,\n key: \"tel\",\n dataIndex: 'tel',\n render: (value, row, index) => {\n const obj = {\n children: value,\n props: {},\n };\n if (index === 2) {\n obj.props.rowSpan = 2;\n }\n if (index === 3) {\n obj.props.rowSpan = 0;\n }\n if (index === 4) {\n obj.props.colSpan = 0;\n }\n return obj;\n },\n}, {\n title: '手机号',\n colSpan: 0,\n key: \"phone\",\n dataIndex: 'phone',\n render: renderContent,\n}, {\n title: '家庭住址',\n key: \"address\",\n dataIndex: 'address',\n render: renderContent,\n}];\n\n\nconst columns1 = [{\n title: '姓名',\n key: \"name\",\n dataIndex: 'name',\n render: (text, row, index) => {\n if (index < 4) {\n return {text};\n }\n return {\n children: {text},\n props: {\n colSpan: 5,\n },\n };\n },\n}, {\n title: '年龄',\n key: \"age\",\n dataIndex: 'age',\n render: renderContent,\n}, {\n title: '联系方式',\n colSpan: 2,\n key: \"tel\",\n dataIndex: 'tel',\n render: renderContent\n}, {\n title: '手机号',\n colSpan: 0,\n key: \"phone\",\n dataIndex: 'phone',\n render: renderContent,\n}, {\n title: '家庭住址',\n key: \"address\",\n dataIndex: 'address',\n render: renderContent,\n}];\nconst data = [{\n key: '1',\n name: '小红',\n age: 32,\n tel: '0571-22098909',\n phone: 18889898989,\n address: '北京海淀',\n}, {\n key: '2',\n name: '小明',\n tel: '0571-22098333',\n phone: 18889898888,\n age: 42,\n address: '河北张家口',\n}, {\n key: '3',\n name: '张三',\n age: 32,\n tel: '0575-22098909',\n phone: 18900010002,\n address: '浙江杭州',\n}, {\n key: '4',\n name: '李四',\n age: 18,\n tel: '0575-22098909',\n phone: 18900010002,\n address: '广州深圳',\n}, {\n key: '5',\n name: '王五',\n age: 18,\n tel: '0575-22098909',\n phone: 18900010002,\n address: '北京昌平',\n}];\n\nclass Demo15 extends Component {\n constructor(props){\n super(props);\n this.state={\n colFlag:false\n }\n }\n onChange=()=>{\n const colFlag = this.state.colFlag;\n this.setState({\n colFlag:!colFlag\n })\n }\n render() {\n let cols = this.state.colFlag?columns:columns1;\n return (\n \n \n );\n }\n}\n\n\nexport default Demo15;\n", "desc": " 表头只支持列合并,使用 column 里的 colSpan 进行设置。表格支持行/列合并,使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。" }, { "example": _react2['default'].createElement(Demo1201, null), "title": " 拖拽改变行顺序", "code": "/**\n*\n* @title 拖拽改变行顺序\n* @parent 行操作-拖拽\n* @description `rowDraggAble`参数设置是否使用行交换顺序功能,`onDropRow` 是拖拽行后的回调函数。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。\n* Demo1201\n*/\n\nimport React, { Component } from \"react\";\nimport { Switch, Table } from 'tinper-bee';\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 150 },\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width:200 },\n { title: \"系统权限\", dataIndex: \"c\", key: \"c\", width: 200,render:()=>{return()}},\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 100 },\n { title: \"职级\", dataIndex: \"e\", key: \"e\", width: 100 }\n];\n\nconst data = [\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", e: \"M1\", key: \"1001\" },\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", e: \"T1\", key: \"1002\" },\n { a: \"ASVAL_201903120001\", b: \"小红\", c: \"女\", d: \"财务四科\", e: \"T3\", key: \"1003\" },\n { a: \"ASVAL_201903120002\", b: \"小姚\", c: \"女\", d: \"财务一科\", e: \"T2\", key: \"1004\" },\n { a: \"ASVAL_201903120003\", b: \"小岳\", c: \"男\", d: \"财务五科\", e: \"T2\", key: \"1005\" },\n { a: \"ASVAL_201903120004\", b: \"小王\", c: \"男\", d: \"财务一科\", e: \"T5\", key: \"1006\" },\n { a: \"ASVAL_201903120005\", b: \"小绍\", c: \"男\", d: \"财务七科\", e: \"T2\", key: \"1007\" },\n { a: \"ASVAL_201903120006\", b: \"小郭\", c: \"男\", d: \"财务一科\", e: \"T3\", key: \"1008\" },\n { a: \"ASVAL_201903120007\", b: \"小杨\", c: \"女\", d: \"财务四科\", e: \"T2\", key: \"1009\" }\n];\n\nclass Demo1201 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: data\n }\n }\n handleClick = () => {\n console.log('这是第' , this.currentIndex , '行');\n console.log('内容:' , this.currentRecord);\n }\n\n /**\n * 行拖拽开始时触发\n * @param record 拖拽行的数据\n * @param index 拖拽行的下标序号\n */\n onDragRowStart = (record,index) => {\n console.log('拖拽的行数据:', record);\n console.log('拖拽的行序号:', index);\n }\n\n /**\n * 行拖拽结束时触发\n * @param data 拖拽改变顺序后的新data数组\n * @param record 拖拽行的数据\n */\n onDropRow = (data, record) => {\n console.log('重排序后的data: ', data);\n console.log('拖拽的行数据: ', record);\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo1201;\n", "desc": " `rowDraggAble`参数设置是否使用行交换顺序功能,`onDropRow` 是拖拽行后的回调函数。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。" }, { "example": _react2['default'].createElement(Demo1301, null), "title": " 多选功能", "code": "/**\r\n*\r\n* @title 多选功能\r\n* @parent 行操作-选择\r\n* @description 支持多选、全选和禁止选择。getSelectedDataFunc方法是选中行的回调函数,返回当前选中的数据数组。给data数据添加_checked参数可设置当前数据是否选中,添加_disabled参数可禁止选择当前数据。\r\n* demo1301\r\n*/\r\n\r\n\r\nimport React, { Component } from 'react';\nimport { Table, Checkbox } from 'tinper-bee';\r\n\r\n\r\n\r\nimport multiSelect from \"bee-table/build/lib/multiSelect.js\";\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\"},\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n];\r\n\r\nconst data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\",_checked:true },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\",_checked:false },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\",_checked:false },\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\",_disabled:true },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\",_checked:false}\r\n];\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet MultiSelectTable = multiSelect(Table, Checkbox);\r\n\r\nclass Demo12 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data\r\n };\r\n }\r\n /**\r\n *@param selectedList:当前选中的行数据\r\n *@param record 当前操作行数据\r\n *@param index 当前操作行索引\r\n *@param newData 进行多选操作之后的新数据 data\r\n * @memberof Demo12\r\n */\r\n getSelectedDataFunc = (selectedList,record,index,newData) => {\r\n console.log(\"selectedList\", selectedList,\"index\",index);\r\n // 注意:需要用回调中提供的参数 newData,去更新 state 或 store 中的 data 属性值,否则当表格重新render的时候,已选数据会被冲刷掉。\r\n };\r\n \r\n render() {\r\n let multiObj = {\r\n inverse: true, //设置选中为红色填充\r\n };\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo12;", "desc": " 支持多选、全选和禁止选择。getSelectedDataFunc方法是选中行的回调函数,返回当前选中的数据数组。给data数据添加_checked参数可设置当前数据是否选中,添加_disabled参数可禁止选择当前数据。" }, { "example": _react2['default'].createElement(Demo1302, null), "title": " 单选功能", "code": "/**\r\n*\r\n* @title 单选功能\r\n* @parent 行操作-选择\r\n* @description 表格支持单选行操作,可自定义选中行背景色。getSelectedDataFunc方法是选中行的回调函数。\r\n* Demo1302\r\n*/\r\n\r\nimport React, { Component } from \"react\";\nimport { Radio, Table } from 'tinper-bee';\r\n\n\r\n\r\nimport singleSelect from \"bee-table/build/lib/singleSelect.js\";\r\n\r\nconst columns = [\r\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300 },\r\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\r\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\r\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\r\n ];\r\n \r\n const data = [\r\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\r\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\r\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" },\r\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\" },\r\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\" }\r\n ];\r\n\r\n//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常\r\nlet SingleSelectTable = singleSelect(Table, Radio);\r\n\r\nclass Demo1302 extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n data: data,\r\n selectedRowIndex: 0,\r\n }\r\n }\r\n\r\n /**\r\n *@param selected 当前选中的行数据(当前操作行数据)\r\n *@param index 当前操作行索引\r\n * @memberof Demo12\r\n */\r\n getSelectedDataFunc = (record,index) => {\r\n console.log(\"record\", record, \"index\",index);\r\n\r\n this.setState({\r\n selectedRowIndex:index\r\n })\r\n };\r\n\r\n render() {\r\n let {selectedRowIndex} = this.state;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo1302;\r\n", "desc": " 表格支持单选行操作,可自定义选中行背景色。getSelectedDataFunc方法是选中行的回调函数。" }, { "example": _react2['default'].createElement(Demo1401, null), "title": " 万行以上数据渲染", "code": "/**\n*\n* @title 万行以上数据渲染\n* @parent 无限滚动 Infinite-scroll\n* @description 万行数据渲染\n* demo1401\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Tooltip } from 'tinper-bee';\n\n\nimport BigData from \"bee-table/build/lib/bigData\";\nconst BigDataTable = BigData(Table);\nconst columns = [\n {\n title:'序号',\n dataIndex:'index',\n width:'60',\n key:'index',\n render:(text,record,index)=>{\n return index\n }\n },\n {\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\n render: (text, record, index) => {\n return (\n \n {text}\n \n );\n }\n },\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\n\n];\n\nconst data = [ ...new Array(10000) ].map((e, i) => {\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\n if(i%3==0){\n rs.b = '女';\n }\n return rs;\n })\n\n\nclass Demo30 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: data,\n selectedRowIndex: 0\n }\n }\n\n /**\n * 表体滚动加载时触发的回调函数\n * @param endIndex 可视区最后一条数据的 index 序号\n */\n handleBodyScroll = endIndex => {\n console.log('endIndex:', endIndex);\n }\n\n render() {\n return (\n \n {\n console.log('currentIndex--'+index);\n }}\n onBodyScroll={this.handleBodyScroll}\n />\n
\n );\n }\n}\n\nexport default Demo30;", "desc": " 万行数据渲染", "scss_code": ".big-data tr td {\n // height: 48px;\n}" }, { "example": _react2['default'].createElement(Demo1402, null), "title": " 嵌套子表格滚动加载", "code": "/**\n*\n* @title 嵌套子表格滚动加载\n* @parent 无限滚动 Infinite-scroll\n* @description 通过expandedRowRender参数来实现子表格。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。\n* demo1402\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Popconfirm } from 'tinper-bee';\n\n\nimport BigData from \"bee-table/build/lib/bigData\";\nconst BigDataTable = BigData(Table);\nconst outColumns = [\n {\n title: \"操作\",\n dataIndex: \"d\",\n key: \"d\", \n width:200,\n render(text, record, index) {\n return (\n \n \n 一些操作\n \n \n );\n }\n },\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 250 },\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 100 },\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 },\n \n];\nconst innerColumns = [\n {\n title: \"操作\",\n dataIndex: \"d\",\n key: \"d\",\n width:200,\n render(text, record, index) {\n return (\n \n \n 一些操作\n \n \n );\n }\n },\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 100 },\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 100 },\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 },\n \n];\n\nconst data16 = [ ...new Array(10000) ].map((e, i) => {\n return { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\n })\n\n\n\n\n\nclass Demo31 extends Component {\n constructor(props){\n super(props);\n this.state={\n data_obj:{\n 0:[\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\n { a: \"杨过\", b: \"男\", c: 67, d: \"操作\", key: \"2\" }\n ],\n 1: [\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\n { a: \"菲菲\", b: \"nv\", c: 67, d: \"操作\", key: \"2\" }\n ],\n }\n }\n }\n expandedRowRender = (record, index, indent) => {\n let height = 200;\n let innderData = [ ...new Array(100) ].map((e, i) => {\n return { a: index+\"-\"+ i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: index+\"-\"+ i };\n })\n return (\n \n );\n };\n getData=(expanded, record)=>{\n //当点击展开的时候才去请求数据\n let new_obj = Object.assign({},this.state.data_obj);\n if(expanded){\n if(record.key==='1'){\n new_obj[record.key] = [\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\n { a: \"杨过\", b: \"男\", c: 67, d: \"操作\", key: \"2\" }\n ]\n this.setState({\n data_obj:new_obj\n })\n }else{\n new_obj[record.key] = [\n { a: \"令狐冲\", b: \"男\", c: 41, d: \"操作\", key: \"1\" },\n { a: \"菲菲\", b: \"nv\", c: 67, d: \"操作\", key: \"2\" }\n ]\n this.setState({\n data_obj:new_obj\n })\n }\n }\n }\n haveExpandIcon=(record, index)=>{\n //控制是否显示行展开icon,该参数只有在和expandedRowRender同时使用才生效\n if(index == 0){\n return true;\n }\n return false;\n }\n render() {\n return (\n \n );\n }\n}\n\nexport default Demo31;\n", "desc": " 通过expandedRowRender参数来实现子表格。注意:表格行数据必须有唯一标识,可以通过 `data.key` 或 `rowKey` 两种方式传入。" }, { "example": _react2['default'].createElement(Demo1403, null), "title": " 多功能表格滚动加载", "code": "/**\n*\n* @title 多功能表格滚动加载\n* @parent 无限滚动 Infinite-scroll\n* @description\n* demo1403\n*/\n\nimport React, { Component } from \"react\";\nimport { Table, Tooltip,Checkbox,Icon,Popover } from 'tinper-bee';\n\n\nimport BigData from \"bee-table/build/lib/bigData\";\nimport multiSelect from 'bee-table/build/lib/multiSelect';\nimport filterColumn from 'bee-table/build/lib/filterColumn';\n\nlet ComplexTable = filterColumn(multiSelect(BigData(Table), Checkbox), Popover, Icon);\n\nconst columns = [\n {\n title:'序号',\n dataIndex:'index',\n width:'80',\n key:'index',\n render:(text,record,index)=>{\n return index\n }\n },\n {\n title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\",\n render: (text, record, index) => {\n return (\n \n {text}\n \n );\n }\n },\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80},\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\n];\n\nconst data = [ ...new Array(10000) ].map((e, i) => {\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\n if(i%3==0){\n rs.b = '女';\n }\n return rs;\n })\n\n\nclass Demo32 extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: data,\n selectedRowIndex: 0\n }\n }\n getSelectedDataFunc = data => {\n console.log(data);\n };\n\n render() {\n return (\n {\n this.setState({\n selectedRowIndex: index\n });\n }}\n getSelectedDataFunc={this.getSelectedDataFunc}/>\n\n );\n }\n}\n\nexport default Demo32;\n", "desc": "" }, { "example": _react2['default'].createElement(Demo1404, null), "title": " 层级树大数据场景", "code": "/**\n* @title 层级树大数据场景\n* @parent 无限滚动 Infinite-scroll\n* @description\n* demo1404\n*/\nimport React, { Component } from \"react\";\nimport { Table, Button } from 'tinper-bee';\n\n\n\nimport BigData from \"bee-table/build/lib/bigData\";\nconst BigDataTable = BigData(Table);\nconst columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: '150',\n key: 'index',\n render: (text, record, index) => {\n return record.index ? record.index : index\n }\n },\n { title: \"用户名\", dataIndex: \"a\", key: \"a\", width: 580, className: \"rowClassName\" },\n { id: \"123\", title: \"性别\", dataIndex: \"b\", key: \"b\", width: 80 },\n { title: \"年龄\", dataIndex: \"c\", key: \"c\", width: 200 }\n];\n\nconst data = [...new Array(10)].map((e, i) => {\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\n if (i % 3 == 0) {\n rs.b = '女';\n rs.children = [];\n for (let subi = 0; subi < 3; subi++) {\n rs.children.push({ a: i + subi + 'asub', b: i + subi + 'bsub', c: i + subi + 'csub', d: i + subi + 'dsub', key: i + `${subi} sub` });\n rs.children[subi].children = []\n for (let subj = 0; subj < 100; subj++) {\n rs.children[subi].children.push({ a: 333 + ' ' + subj, b: 333 + ' ' + subj, c: 333 + ' ' + subj, d: 333 + ' ' + subj, key: i + `${subj} sub1` });\n }\n }\n } else {\n rs.children = [];\n for (let subi = 0; subi < 3; subi++) {\n rs.children.push({ a: i + subi + 'asub', b: i + subi + 'bsub', c: i + subi + 'csub', d: i + subi + 'dsub', key: i + `${subi} sub` });\n }\n }\n return rs;\n})\n\nconst data2 = [...new Array(10000)].map((e, i) => {\n const rs = { a: i + 'a', b: i + 'b', c: i + 'c', d: i + 'd', key: i };\n if (i % 3 == 0) {\n rs.b = '女';\n }\n return rs;\n})\n\nclass Demo34 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data: data\n }\n }\n\n /**\n * expanded : 当前的状态\n * record : 当前行的数据\n */\n onExpand = (expanded, record) => {\n console.log('当前的状态---' + expanded, ' 当前行的数据---' , record);\n }\n handleClick = () => {\n this.setState({\n data: data2\n })\n }\n render () {\n return (\n \n \n {\n console.log('currentIndex--' + index);\n }}\n rowKey=\"key\"//每条数据的唯一标示,默认为key,如果不是key,必须传\n />\n
\n\n );\n }\n}\n\nexport default Demo34;", "desc": "" }, { "example": _react2['default'].createElement(Demo1601, null), "title": " 表格+分页", "code": "/**\n * @title 表格+分页\n * @parent 分页 Pagination\n * @description 点击分页联动表格\n * demo1601\n */\n\nimport React, { Component } from \"react\";\nimport { Table, Pagination } from 'tinper-bee';\n\n\n\n\nconst columns = [\n { title: \"员工编号\", dataIndex: \"a\", key: \"a\", width: 300, className: \"rowClassName\"},\n { title: \"员工姓名\", dataIndex: \"b\", key: \"b\", width: 500 },\n { title: \"性别\", dataIndex: \"c\", key: \"c\", width: 500 },\n { title: \"部门\", dataIndex: \"d\", key: \"d\", width: 200 }\n];\n\nconst pageData = {\n 1: [\n { a: \"ASVAL_201903280005\", b: \"小张\", c: \"男\", d: \"财务二科\", key: \"1\" },\n { a: \"ASVAL_201903200004\", b: \"小明\", c: \"男\", d: \"财务一科\", key: \"2\" },\n { a: \"ASVAL_201903120002\", b: \"小红\", c: \"女\", d: \"财务一科\", key: \"3\" }\n ],\n 2: [\n { a: \"ASVAL_201903280010\", b: \"小王\", c: \"女\", d: \"财务二科\", key: \"4\" },\n { a: \"ASVAL_201903200021\", b: \"小李\", c: \"男\", d: \"财务一科\", key: \"5\" },\n ]\n};\n\nclass Demo8 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data: pageData[1],\n activePage: 1\n };\n }\n\n handleSelect(eventKey) {\n this.setState({\n data: pageData[eventKey],\n activePage: eventKey\n });\n }\n\n render() {\n return (\n \n );\n }\n}\nexport default Demo8;\n", "desc": " 点击分页联动表格", "scss_code": ".demo8{\n .u-table {\n margin-bottom: 11px;\n }\n .u-pagination{\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}" }];
var Demo = function (_Component) {
_inherits(Demo, _Component);
@@ -90539,7 +90539,7 @@
* demo0101
*/
- var columns = [{ title: "员工编号", dataIndex: "a", key: "a", width: 150, fixed: 'left' }, { title: "员工姓名", dataIndex: "b", key: "b", width: 100, fixed: 'left' }, { title: "性别", dataIndex: "c", key: "c", width: 100 }, { title: "部门", dataIndex: "d", key: "d", width: 100 }, { title: "职级", dataIndex: "e", key: "e", width: 100 }, { title: "职级", dataIndex: "e", key: "e", width: 100 }, { title: "职级", dataIndex: "e", key: "e", width: 100 }, { title: "职级", dataIndex: "e", key: "e", width: 100 }, { title: "职级", dataIndex: "e", key: "e", width: 100 }];
+ var columns = [{ title: "员工编号", dataIndex: "a", key: "a", width: 150 }, { title: "员工姓名", dataIndex: "b", key: "b", width: 100 }, { title: "性别", dataIndex: "c", key: "c", width: 100 }, { title: "部门", dataIndex: "d", key: "d", width: 100 }, { title: "职级", dataIndex: "e", key: "e", width: 100 }];
var data = [{ a: "ASVAL_20190328", b: "小张", c: "男", d: "财务二科", e: "M1", key: "1" }, { a: "ASVAL_20190320", b: "小明", c: "男", d: "财务一科", e: "T1", key: "2" }, { a: "ASVAL_20190312", b: "小红", c: "女", d: "财务一科", e: "T2", key: "3" }];
@@ -90547,25 +90547,16 @@
_inherits(Demo0101, _Component);
function Demo0101() {
- var _temp, _this, _ret;
-
_classCallCheck(this, Demo0101);
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.onPaste = function (e, positon) {
- console.log(positon);
- console.log('onPaste', positon);
- }, _temp), _possibleConstructorReturn(_this, _ret);
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
}
Demo0101.prototype.render = function render() {
return _react2["default"].createElement(_src2["default"], {
- onPaste: this.onPaste,
columns: columns,
- data: data
+ data: data,
+ showRowNum: true
});
};
@@ -90575,6 +90566,217872 @@
exports["default"] = Demo0101;
module.exports = exports["default"];
+/***/ }),
+/* 606 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _src = __webpack_require__(270);
+
+ var _src2 = _interopRequireDefault(_src);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ *
+ * @title 默认无数据展示
+ * @parent 基础 Basic
+ * @description 无数据时默认展示图标,可在`emptyText`方法中自定义展示内容。
+ * demo0102
+ */
+
+ var columns = [{
+ title: "员工编号",
+ dataIndex: "num",
+ key: "num",
+ width: "40%"
+ }, {
+ title: "员工姓名",
+ dataIndex: "name",
+ key: "name",
+ width: "30%"
+ }, {
+ title: "部门",
+ dataIndex: "department",
+ key: "department"
+ }];
+
+ var data = [];
+
+ // 在此自定义无数据时的展示内容
+ var emptyFunc = function emptyFunc() {
+ return 'No Data';
+ };
+
+ var Demo02 = function (_Component) {
+ _inherits(Demo02, _Component);
+
+ function Demo02() {
+ _classCallCheck(this, Demo02);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ Demo02.prototype.render = function render() {
+ return _react2['default'].createElement(_src2['default'], {
+ columns: columns,
+ data: data
+ // emptyText={emptyFunc}
+ });
+ };
+
+ return Demo02;
+ }(_react.Component);
+
+ exports['default'] = Demo02;
+ module.exports = exports['default'];
+
+/***/ }),
+/* 607 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _src = __webpack_require__(270);
+
+ var _src2 = _interopRequireDefault(_src);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ *
+ * @title 固定表头
+ * @parent 基础 Basic
+ * @description 设置`scroll.y`指定滚动区域的高度,达到固定表头效果。
+ * demo0103
+ */
+
+ var columns03 = [{
+ title: "序号",
+ dataIndex: "index",
+ key: "index",
+ width: 80,
+ render: function render(text, record, index) {
+ return index + 1;
+ }
+ }, {
+ title: "订单编号",
+ dataIndex: "orderCode",
+ key: "orderCode",
+ width: 200
+ }, {
+ title: "供应商名称",
+ dataIndex: "supplierName",
+ key: "supplierName",
+ width: 200
+ }, {
+ title: "类型",
+ dataIndex: "type_name",
+ key: "type_name",
+ width: 200
+ }, {
+ title: "采购组织",
+ dataIndex: "purchasing",
+ key: "purchasing",
+ width: 200
+ }, {
+ title: "采购组",
+ dataIndex: "purchasingGroup",
+ key: "purchasingGroup",
+ width: 200
+ }, {
+ title: "凭证日期",
+ dataIndex: "voucherDate",
+ key: "voucherDate",
+ width: 200
+ }];
+
+ var data03 = [{
+ orderCode: "NU0391025",
+ supplierName: "xx供应商",
+ type_name: "1",
+ purchasing: '组织c',
+ purchasingGroup: "aa",
+ voucherDate: "2018年03月18日",
+ key: "1"
+ }, {
+ orderCode: "NU0391026",
+ supplierName: "xx供应商",
+ type_name: "2",
+ purchasing: '组织a',
+ purchasingGroup: "bb",
+ voucherDate: "2018年02月05日",
+ key: "2"
+ }, {
+ orderCode: "NU0391027",
+ supplierName: "xx供应商",
+ type_name: "3",
+ purchasing: '组织b',
+ purchasingGroup: "aa",
+ voucherDate: "2018年07月01日",
+ key: "3"
+ }, {
+ orderCode: "NU0391028",
+ supplierName: "xx供应商",
+ type_name: "4",
+ purchasing: '组织c',
+ purchasingGroup: "cc",
+ voucherDate: "2019年03月01日",
+ key: "4"
+ }, {
+ orderCode: "NU0391029",
+ supplierName: "xx供应商",
+ type_name: "5",
+ purchasing: '组织d',
+ purchasingGroup: "ss",
+ voucherDate: "2019年02月14日",
+ key: "5"
+ }, {
+ orderCode: "NU0391030",
+ supplierName: "xx供应商",
+ type_name: "1",
+ purchasing: '组织e',
+ purchasingGroup: "zz",
+ voucherDate: "2019年02月18日",
+ key: "6"
+ }, {
+ orderCode: "NU0391031",
+ supplierName: "xx供应商",
+ type_name: "2",
+ purchasing: '组织f',
+ purchasingGroup: "qq",
+ voucherDate: "2019年01月01日",
+ key: "7"
+ }, {
+ orderCode: "NU0391032",
+ supplierName: "xx供应商",
+ type_name: "3",
+ purchasing: '组织g',
+ purchasingGroup: "pp",
+ voucherDate: "2019年01月31日",
+ key: "8"
+ }];
+
+ var Demo03 = function (_Component) {
+ _inherits(Demo03, _Component);
+
+ function Demo03() {
+ _classCallCheck(this, Demo03);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ Demo03.prototype.render = function render() {
+ return _react2['default'].createElement(_src2['default'], { columns: columns03, data: data03, scroll: { y: 150 } });
+ };
+
+ return Demo03;
+ }(_react.Component);
+
+ exports['default'] = Demo03;
+ module.exports = exports['default'];
+
+/***/ }),
+/* 608 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _src = __webpack_require__(270);
+
+ var _src2 = _interopRequireDefault(_src);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ *
+ * @title 隔行换色
+ * @parent 基础 Basic
+ * @description 可自定义斑马线颜色
+ * demo0104
+ */
+
+ var columns04 = [{ title: "序号", dataIndex: "index", key: "index", width: 80,
+ render: function render(text, record, index) {
+ return index + 1;
+ }
+ }, { title: "订单编号", dataIndex: "orderCode", key: "orderCode", width: 200 }, { title: "供应商名称", dataIndex: "supplierName", key: "supplierName", width: 200 }, { title: "类型", dataIndex: "type_name", key: "type_name", width: 200 }, { title: "采购组织", dataIndex: "purchasing", key: "purchasing", width: 200 }, { title: "采购组", dataIndex: "purchasingGroup", key: "purchasingGroup", width: 200 }, { title: "凭证日期", dataIndex: "voucherDate", key: "voucherDate", width: 200 }];
+
+ var data04 = [{
+ orderCode: "NU0391025",
+ supplierName: "xx供应商",
+ type_name: "1",
+ purchasing: '组织c',
+ purchasingGroup: "aa",
+ voucherDate: "2018年03月18日",
+ key: "1"
+ }, {
+ orderCode: "NU0391026",
+ supplierName: "xx供应商",
+ type_name: "2",
+ purchasing: '组织a',
+ purchasingGroup: "bb",
+ voucherDate: "2018年02月05日",
+ key: "2"
+ }, {
+ orderCode: "NU0391027",
+ supplierName: "xx供应商",
+ type_name: "3",
+ purchasing: '组织b',
+ purchasingGroup: "aa",
+ voucherDate: "2018年07月01日",
+ key: "3"
+ }, {
+ orderCode: "NU0391028",
+ supplierName: "xx供应商",
+ type_name: "4",
+ purchasing: '组织c',
+ purchasingGroup: "cc",
+ voucherDate: "2019年03月01日",
+ key: "4"
+ }, {
+ orderCode: "NU0391029",
+ supplierName: "xx供应商",
+ type_name: "5",
+ purchasing: '组织d',
+ purchasingGroup: "ss",
+ voucherDate: "2019年02月14日",
+ key: "5"
+ }, {
+ orderCode: "NU0391030",
+ supplierName: "xx供应商",
+ type_name: "1",
+ purchasing: '组织e',
+ purchasingGroup: "zz",
+ voucherDate: "2019年02月18日",
+ key: "6"
+ }, {
+ orderCode: "NU0391031",
+ supplierName: "xx供应商",
+ type_name: "2",
+ purchasing: '组织f',
+ purchasingGroup: "qq",
+ voucherDate: "2019年01月01日",
+ key: "7"
+ }, {
+ orderCode: "NU0391032",
+ supplierName: "xx供应商",
+ type_name: "3",
+ purchasing: '组织g',
+ purchasingGroup: "pp",
+ voucherDate: "2019年01月31日",
+ key: "8"
+ }];
+
+ var Demo04 = function (_Component) {
+ _inherits(Demo04, _Component);
+
+ function Demo04() {
+ _classCallCheck(this, Demo04);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ Demo04.prototype.render = function render() {
+ return _react2['default'].createElement(_src2['default'], {
+ className: 'demo04',
+ columns: columns04,
+ data: data04 });
+ };
+
+ return Demo04;
+ }(_react.Component);
+
+ exports['default'] = Demo04;
+ module.exports = exports['default'];
+
+/***/ }),
+/* 609 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _src = __webpack_require__(270);
+
+ var _src2 = _interopRequireDefault(_src);
+
+ var _tinperBee = __webpack_require__(610);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ *
+ * @title 表格 Loading 加载
+ * @parent 基础 Basic
+ * @description loading可以传boolean或者object对象,object为bee-loading组件的参数类型
+ * demo0105
+ */
+
+ var columns05 = [{ title: "员工编号", dataIndex: "a", key: "a", width: 300, className: "rowClassName", fixed: 'left' }, { title: "员工姓名", dataIndex: "b", key: "b", width: 500 }, { title: "性别", dataIndex: "c", key: "c", width: 500 }, { title: "部门", dataIndex: "d", key: "d", width: 200 }];
+
+ var data05 = [{ a: "ASVAL_201903280005", b: "小张", c: "男", d: "财务二科", key: "1" }, { a: "ASVAL_201903200004", b: "小明", c: "男", d: "财务一科", key: "2" }, { a: "ASVAL_201903120002", b: "小红", c: "女", d: "财务一科", key: "3" }];
+
+ var Demo05 = function (_Component) {
+ _inherits(Demo05, _Component);
+
+ function Demo05(props) {
+ _classCallCheck(this, Demo05);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.changeLoading = function () {
+ _this.setState({
+ loading: !_this.state.loading
+ });
+ };
+
+ _this.state = {
+ loading: true
+ };
+ return _this;
+ }
+
+ Demo05.prototype.render = function render() {
+ return _react2["default"].createElement(
+ "div",
+ null,
+ _react2["default"].createElement(
+ _tinperBee.Button,
+ {
+ className: "editable-add-btn",
+ onClick: this.changeLoading
+ },
+ "\u5207\u6362loading"
+ ),
+ _react2["default"].createElement(_src2["default"], {
+ columns: columns05,
+ data: data05
+ // loading={this.state.loading}或者是boolean
+ , loading: { show: this.state.loading }
+ })
+ );
+ };
+
+ return Demo05;
+ }(_react.Component);
+
+ exports["default"] = Demo05;
+ module.exports = exports["default"];
+
+/***/ }),
+/* 610 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {'use strict';
+
+ if (process.env.NODE_ENV === 'production') {
+ module.exports = __webpack_require__(611);
+ } else {
+ module.exports = __webpack_require__(611);
+ }
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+/***/ }),
+/* 611 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ (function webpackUniversalModuleDefinition(root, factory) {
+ if(true)
+ module.exports = factory(__webpack_require__(1), __webpack_require__(6), __webpack_require__(2));
+ else if(typeof define === 'function' && define.amd)
+ define(["react", "prop-types", "react-dom"], factory);
+ else if(typeof exports === 'object')
+ exports["TinperBee"] = factory(require("react"), require("prop-types"), require("react-dom"));
+ else
+ root["TinperBee"] = factory(root["React"], root["PropTypes"], root["ReactDOM"]);
+ })(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_3__) {
+ return /******/ (function(modules) { // webpackBootstrap
+ /******/ // The module cache
+ /******/ var installedModules = {};
+ /******/
+ /******/ // The require function
+ /******/ function __webpack_require__(moduleId) {
+ /******/
+ /******/ // Check if module is in cache
+ /******/ if(installedModules[moduleId]) {
+ /******/ return installedModules[moduleId].exports;
+ /******/ }
+ /******/ // Create a new module (and put it into the cache)
+ /******/ var module = installedModules[moduleId] = {
+ /******/ i: moduleId,
+ /******/ l: false,
+ /******/ exports: {}
+ /******/ };
+ /******/
+ /******/ // Execute the module function
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+ /******/
+ /******/ // Flag the module as loaded
+ /******/ module.l = true;
+ /******/
+ /******/ // Return the exports of the module
+ /******/ return module.exports;
+ /******/ }
+ /******/
+ /******/
+ /******/ // expose the modules object (__webpack_modules__)
+ /******/ __webpack_require__.m = modules;
+ /******/
+ /******/ // expose the module cache
+ /******/ __webpack_require__.c = installedModules;
+ /******/
+ /******/ // define getter function for harmony exports
+ /******/ __webpack_require__.d = function(exports, name, getter) {
+ /******/ if(!__webpack_require__.o(exports, name)) {
+ /******/ Object.defineProperty(exports, name, {
+ /******/ configurable: false,
+ /******/ enumerable: true,
+ /******/ get: getter
+ /******/ });
+ /******/ }
+ /******/ };
+ /******/
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
+ /******/ __webpack_require__.n = function(module) {
+ /******/ var getter = module && module.__esModule ?
+ /******/ function getDefault() { return module['default']; } :
+ /******/ function getModuleExports() { return module; };
+ /******/ __webpack_require__.d(getter, 'a', getter);
+ /******/ return getter;
+ /******/ };
+ /******/
+ /******/ // Object.prototype.hasOwnProperty.call
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+ /******/
+ /******/ // __webpack_public_path__
+ /******/ __webpack_require__.p = "";
+ /******/
+ /******/ // Load entry module and return exports
+ /******/ return __webpack_require__(__webpack_require__.s = 542);
+ /******/ })
+ /************************************************************************/
+ /******/ ([
+ /* 0 */
+ /***/ (function(module, exports) {
+
+ module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
+
+ /***/ }),
+ /* 1 */
+ /***/ (function(module, exports) {
+
+ module.exports = __WEBPACK_EXTERNAL_MODULE_1__;
+
+ /***/ }),
+ /* 2 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+ */
+ /* global define */
+
+ (function () {
+ 'use strict';
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames () {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ if (typeof module !== 'undefined' && module.exports) {
+ classNames.default = classNames;
+ module.exports = classNames;
+ } else if (true) {
+ // register as 'classnames', consistent with npm package name
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+ return classNames;
+ }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else {
+ window.classNames = classNames;
+ }
+ }());
+
+
+ /***/ }),
+ /* 3 */
+ /***/ (function(module, exports) {
+
+ module.exports = __WEBPACK_EXTERNAL_MODULE_3__;
+
+ /***/ }),
+ /* 4 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(module) {var require;//! moment.js
+ //! version : 2.25.3
+ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+ //! license : MIT
+ //! momentjs.com
+
+ ;(function (global, factory) {
+ true ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ global.moment = factory()
+ }(this, (function () { 'use strict';
+
+ var hookCallback;
+
+ function hooks() {
+ return hookCallback.apply(null, arguments);
+ }
+
+ // This is done to register the method called with moment()
+ // without creating circular dependencies.
+ function setHookCallback(callback) {
+ hookCallback = callback;
+ }
+
+ function isArray(input) {
+ return (
+ input instanceof Array ||
+ Object.prototype.toString.call(input) === '[object Array]'
+ );
+ }
+
+ function isObject(input) {
+ // IE8 will treat undefined and null as object if it wasn't for
+ // input != null
+ return (
+ input != null &&
+ Object.prototype.toString.call(input) === '[object Object]'
+ );
+ }
+
+ function hasOwnProp(a, b) {
+ return Object.prototype.hasOwnProperty.call(a, b);
+ }
+
+ function isObjectEmpty(obj) {
+ if (Object.getOwnPropertyNames) {
+ return Object.getOwnPropertyNames(obj).length === 0;
+ } else {
+ var k;
+ for (k in obj) {
+ if (hasOwnProp(obj, k)) {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ function isUndefined(input) {
+ return input === void 0;
+ }
+
+ function isNumber(input) {
+ return (
+ typeof input === 'number' ||
+ Object.prototype.toString.call(input) === '[object Number]'
+ );
+ }
+
+ function isDate(input) {
+ return (
+ input instanceof Date ||
+ Object.prototype.toString.call(input) === '[object Date]'
+ );
+ }
+
+ function map(arr, fn) {
+ var res = [],
+ i;
+ for (i = 0; i < arr.length; ++i) {
+ res.push(fn(arr[i], i));
+ }
+ return res;
+ }
+
+ function extend(a, b) {
+ for (var i in b) {
+ if (hasOwnProp(b, i)) {
+ a[i] = b[i];
+ }
+ }
+
+ if (hasOwnProp(b, 'toString')) {
+ a.toString = b.toString;
+ }
+
+ if (hasOwnProp(b, 'valueOf')) {
+ a.valueOf = b.valueOf;
+ }
+
+ return a;
+ }
+
+ function createUTC(input, format, locale, strict) {
+ return createLocalOrUTC(input, format, locale, strict, true).utc();
+ }
+
+ function defaultParsingFlags() {
+ // We need to deep clone this object.
+ return {
+ empty: false,
+ unusedTokens: [],
+ unusedInput: [],
+ overflow: -2,
+ charsLeftOver: 0,
+ nullInput: false,
+ invalidEra: null,
+ invalidMonth: null,
+ invalidFormat: false,
+ userInvalidated: false,
+ iso: false,
+ parsedDateParts: [],
+ era: null,
+ meridiem: null,
+ rfc2822: false,
+ weekdayMismatch: false,
+ };
+ }
+
+ function getParsingFlags(m) {
+ if (m._pf == null) {
+ m._pf = defaultParsingFlags();
+ }
+ return m._pf;
+ }
+
+ var some;
+ if (Array.prototype.some) {
+ some = Array.prototype.some;
+ } else {
+ some = function (fun) {
+ var t = Object(this),
+ len = t.length >>> 0,
+ i;
+
+ for (i = 0; i < len; i++) {
+ if (i in t && fun.call(this, t[i], i, t)) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+ }
+
+ function isValid(m) {
+ if (m._isValid == null) {
+ var flags = getParsingFlags(m),
+ parsedParts = some.call(flags.parsedDateParts, function (i) {
+ return i != null;
+ }),
+ isNowValid =
+ !isNaN(m._d.getTime()) &&
+ flags.overflow < 0 &&
+ !flags.empty &&
+ !flags.invalidEra &&
+ !flags.invalidMonth &&
+ !flags.invalidWeekday &&
+ !flags.weekdayMismatch &&
+ !flags.nullInput &&
+ !flags.invalidFormat &&
+ !flags.userInvalidated &&
+ (!flags.meridiem || (flags.meridiem && parsedParts));
+
+ if (m._strict) {
+ isNowValid =
+ isNowValid &&
+ flags.charsLeftOver === 0 &&
+ flags.unusedTokens.length === 0 &&
+ flags.bigHour === undefined;
+ }
+
+ if (Object.isFrozen == null || !Object.isFrozen(m)) {
+ m._isValid = isNowValid;
+ } else {
+ return isNowValid;
+ }
+ }
+ return m._isValid;
+ }
+
+ function createInvalid(flags) {
+ var m = createUTC(NaN);
+ if (flags != null) {
+ extend(getParsingFlags(m), flags);
+ } else {
+ getParsingFlags(m).userInvalidated = true;
+ }
+
+ return m;
+ }
+
+ // Plugins that add properties should also add the key here (null value),
+ // so we can properly clone ourselves.
+ var momentProperties = (hooks.momentProperties = []),
+ updateInProgress = false;
+
+ function copyConfig(to, from) {
+ var i, prop, val;
+
+ if (!isUndefined(from._isAMomentObject)) {
+ to._isAMomentObject = from._isAMomentObject;
+ }
+ if (!isUndefined(from._i)) {
+ to._i = from._i;
+ }
+ if (!isUndefined(from._f)) {
+ to._f = from._f;
+ }
+ if (!isUndefined(from._l)) {
+ to._l = from._l;
+ }
+ if (!isUndefined(from._strict)) {
+ to._strict = from._strict;
+ }
+ if (!isUndefined(from._tzm)) {
+ to._tzm = from._tzm;
+ }
+ if (!isUndefined(from._isUTC)) {
+ to._isUTC = from._isUTC;
+ }
+ if (!isUndefined(from._offset)) {
+ to._offset = from._offset;
+ }
+ if (!isUndefined(from._pf)) {
+ to._pf = getParsingFlags(from);
+ }
+ if (!isUndefined(from._locale)) {
+ to._locale = from._locale;
+ }
+
+ if (momentProperties.length > 0) {
+ for (i = 0; i < momentProperties.length; i++) {
+ prop = momentProperties[i];
+ val = from[prop];
+ if (!isUndefined(val)) {
+ to[prop] = val;
+ }
+ }
+ }
+
+ return to;
+ }
+
+ // Moment prototype object
+ function Moment(config) {
+ copyConfig(this, config);
+ this._d = new Date(config._d != null ? config._d.getTime() : NaN);
+ if (!this.isValid()) {
+ this._d = new Date(NaN);
+ }
+ // Prevent infinite loop in case updateOffset creates new moment
+ // objects.
+ if (updateInProgress === false) {
+ updateInProgress = true;
+ hooks.updateOffset(this);
+ updateInProgress = false;
+ }
+ }
+
+ function isMoment(obj) {
+ return (
+ obj instanceof Moment || (obj != null && obj._isAMomentObject != null)
+ );
+ }
+
+ function warn(msg) {
+ if (
+ hooks.suppressDeprecationWarnings === false &&
+ typeof console !== 'undefined' &&
+ console.warn
+ ) {
+ console.warn('Deprecation warning: ' + msg);
+ }
+ }
+
+ function deprecate(msg, fn) {
+ var firstTime = true;
+
+ return extend(function () {
+ if (hooks.deprecationHandler != null) {
+ hooks.deprecationHandler(null, msg);
+ }
+ if (firstTime) {
+ var args = [],
+ arg,
+ i,
+ key;
+ for (i = 0; i < arguments.length; i++) {
+ arg = '';
+ if (typeof arguments[i] === 'object') {
+ arg += '\n[' + i + '] ';
+ for (key in arguments[0]) {
+ if (hasOwnProp(arguments[0], key)) {
+ arg += key + ': ' + arguments[0][key] + ', ';
+ }
+ }
+ arg = arg.slice(0, -2); // Remove trailing comma and space
+ } else {
+ arg = arguments[i];
+ }
+ args.push(arg);
+ }
+ warn(
+ msg +
+ '\nArguments: ' +
+ Array.prototype.slice.call(args).join('') +
+ '\n' +
+ new Error().stack
+ );
+ firstTime = false;
+ }
+ return fn.apply(this, arguments);
+ }, fn);
+ }
+
+ var deprecations = {};
+
+ function deprecateSimple(name, msg) {
+ if (hooks.deprecationHandler != null) {
+ hooks.deprecationHandler(name, msg);
+ }
+ if (!deprecations[name]) {
+ warn(msg);
+ deprecations[name] = true;
+ }
+ }
+
+ hooks.suppressDeprecationWarnings = false;
+ hooks.deprecationHandler = null;
+
+ function isFunction(input) {
+ return (
+ (typeof Function !== 'undefined' && input instanceof Function) ||
+ Object.prototype.toString.call(input) === '[object Function]'
+ );
+ }
+
+ function set(config) {
+ var prop, i;
+ for (i in config) {
+ if (hasOwnProp(config, i)) {
+ prop = config[i];
+ if (isFunction(prop)) {
+ this[i] = prop;
+ } else {
+ this['_' + i] = prop;
+ }
+ }
+ }
+ this._config = config;
+ // Lenient ordinal parsing accepts just a number in addition to
+ // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
+ // TODO: Remove "ordinalParse" fallback in next major release.
+ this._dayOfMonthOrdinalParseLenient = new RegExp(
+ (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
+ '|' +
+ /\d{1,2}/.source
+ );
+ }
+
+ function mergeConfigs(parentConfig, childConfig) {
+ var res = extend({}, parentConfig),
+ prop;
+ for (prop in childConfig) {
+ if (hasOwnProp(childConfig, prop)) {
+ if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
+ res[prop] = {};
+ extend(res[prop], parentConfig[prop]);
+ extend(res[prop], childConfig[prop]);
+ } else if (childConfig[prop] != null) {
+ res[prop] = childConfig[prop];
+ } else {
+ delete res[prop];
+ }
+ }
+ }
+ for (prop in parentConfig) {
+ if (
+ hasOwnProp(parentConfig, prop) &&
+ !hasOwnProp(childConfig, prop) &&
+ isObject(parentConfig[prop])
+ ) {
+ // make sure changes to properties don't modify parent config
+ res[prop] = extend({}, res[prop]);
+ }
+ }
+ return res;
+ }
+
+ function Locale(config) {
+ if (config != null) {
+ this.set(config);
+ }
+ }
+
+ var keys;
+
+ if (Object.keys) {
+ keys = Object.keys;
+ } else {
+ keys = function (obj) {
+ var i,
+ res = [];
+ for (i in obj) {
+ if (hasOwnProp(obj, i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ };
+ }
+
+ var defaultCalendar = {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ };
+
+ function calendar(key, mom, now) {
+ var output = this._calendar[key] || this._calendar['sameElse'];
+ return isFunction(output) ? output.call(mom, now) : output;
+ }
+
+ function zeroFill(number, targetLength, forceSign) {
+ var absNumber = '' + Math.abs(number),
+ zerosToFill = targetLength - absNumber.length,
+ sign = number >= 0;
+ return (
+ (sign ? (forceSign ? '+' : '') : '-') +
+ Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +
+ absNumber
+ );
+ }
+
+ var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
+ localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
+ formatFunctions = {},
+ formatTokenFunctions = {};
+
+ // token: 'M'
+ // padded: ['MM', 2]
+ // ordinal: 'Mo'
+ // callback: function () { this.month() + 1 }
+ function addFormatToken(token, padded, ordinal, callback) {
+ var func = callback;
+ if (typeof callback === 'string') {
+ func = function () {
+ return this[callback]();
+ };
+ }
+ if (token) {
+ formatTokenFunctions[token] = func;
+ }
+ if (padded) {
+ formatTokenFunctions[padded[0]] = function () {
+ return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
+ };
+ }
+ if (ordinal) {
+ formatTokenFunctions[ordinal] = function () {
+ return this.localeData().ordinal(
+ func.apply(this, arguments),
+ token
+ );
+ };
+ }
+ }
+
+ function removeFormattingTokens(input) {
+ if (input.match(/\[[\s\S]/)) {
+ return input.replace(/^\[|\]$/g, '');
+ }
+ return input.replace(/\\/g, '');
+ }
+
+ function makeFormatFunction(format) {
+ var array = format.match(formattingTokens),
+ i,
+ length;
+
+ for (i = 0, length = array.length; i < length; i++) {
+ if (formatTokenFunctions[array[i]]) {
+ array[i] = formatTokenFunctions[array[i]];
+ } else {
+ array[i] = removeFormattingTokens(array[i]);
+ }
+ }
+
+ return function (mom) {
+ var output = '',
+ i;
+ for (i = 0; i < length; i++) {
+ output += isFunction(array[i])
+ ? array[i].call(mom, format)
+ : array[i];
+ }
+ return output;
+ };
+ }
+
+ // format date using native date object
+ function formatMoment(m, format) {
+ if (!m.isValid()) {
+ return m.localeData().invalidDate();
+ }
+
+ format = expandFormat(format, m.localeData());
+ formatFunctions[format] =
+ formatFunctions[format] || makeFormatFunction(format);
+
+ return formatFunctions[format](m);
+ }
+
+ function expandFormat(format, locale) {
+ var i = 5;
+
+ function replaceLongDateFormatTokens(input) {
+ return locale.longDateFormat(input) || input;
+ }
+
+ localFormattingTokens.lastIndex = 0;
+ while (i >= 0 && localFormattingTokens.test(format)) {
+ format = format.replace(
+ localFormattingTokens,
+ replaceLongDateFormatTokens
+ );
+ localFormattingTokens.lastIndex = 0;
+ i -= 1;
+ }
+
+ return format;
+ }
+
+ var defaultLongDateFormat = {
+ LTS: 'h:mm:ss A',
+ LT: 'h:mm A',
+ L: 'MM/DD/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY h:mm A',
+ LLLL: 'dddd, MMMM D, YYYY h:mm A',
+ };
+
+ function longDateFormat(key) {
+ var format = this._longDateFormat[key],
+ formatUpper = this._longDateFormat[key.toUpperCase()];
+
+ if (format || !formatUpper) {
+ return format;
+ }
+
+ this._longDateFormat[key] = formatUpper
+ .match(formattingTokens)
+ .map(function (tok) {
+ if (
+ tok === 'MMMM' ||
+ tok === 'MM' ||
+ tok === 'DD' ||
+ tok === 'dddd'
+ ) {
+ return tok.slice(1);
+ }
+ return tok;
+ })
+ .join('');
+
+ return this._longDateFormat[key];
+ }
+
+ var defaultInvalidDate = 'Invalid date';
+
+ function invalidDate() {
+ return this._invalidDate;
+ }
+
+ var defaultOrdinal = '%d',
+ defaultDayOfMonthOrdinalParse = /\d{1,2}/;
+
+ function ordinal(number) {
+ return this._ordinal.replace('%d', number);
+ }
+
+ var defaultRelativeTime = {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ w: 'a week',
+ ww: '%d weeks',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ };
+
+ function relativeTime(number, withoutSuffix, string, isFuture) {
+ var output = this._relativeTime[string];
+ return isFunction(output)
+ ? output(number, withoutSuffix, string, isFuture)
+ : output.replace(/%d/i, number);
+ }
+
+ function pastFuture(diff, output) {
+ var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+ return isFunction(format) ? format(output) : format.replace(/%s/i, output);
+ }
+
+ var aliases = {};
+
+ function addUnitAlias(unit, shorthand) {
+ var lowerCase = unit.toLowerCase();
+ aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
+ }
+
+ function normalizeUnits(units) {
+ return typeof units === 'string'
+ ? aliases[units] || aliases[units.toLowerCase()]
+ : undefined;
+ }
+
+ function normalizeObjectUnits(inputObject) {
+ var normalizedInput = {},
+ normalizedProp,
+ prop;
+
+ for (prop in inputObject) {
+ if (hasOwnProp(inputObject, prop)) {
+ normalizedProp = normalizeUnits(prop);
+ if (normalizedProp) {
+ normalizedInput[normalizedProp] = inputObject[prop];
+ }
+ }
+ }
+
+ return normalizedInput;
+ }
+
+ var priorities = {};
+
+ function addUnitPriority(unit, priority) {
+ priorities[unit] = priority;
+ }
+
+ function getPrioritizedUnits(unitsObj) {
+ var units = [],
+ u;
+ for (u in unitsObj) {
+ if (hasOwnProp(unitsObj, u)) {
+ units.push({ unit: u, priority: priorities[u] });
+ }
+ }
+ units.sort(function (a, b) {
+ return a.priority - b.priority;
+ });
+ return units;
+ }
+
+ function isLeapYear(year) {
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+ }
+
+ function absFloor(number) {
+ if (number < 0) {
+ // -0 -> 0
+ return Math.ceil(number) || 0;
+ } else {
+ return Math.floor(number);
+ }
+ }
+
+ function toInt(argumentForCoercion) {
+ var coercedNumber = +argumentForCoercion,
+ value = 0;
+
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+ value = absFloor(coercedNumber);
+ }
+
+ return value;
+ }
+
+ function makeGetSet(unit, keepTime) {
+ return function (value) {
+ if (value != null) {
+ set$1(this, unit, value);
+ hooks.updateOffset(this, keepTime);
+ return this;
+ } else {
+ return get(this, unit);
+ }
+ };
+ }
+
+ function get(mom, unit) {
+ return mom.isValid()
+ ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
+ : NaN;
+ }
+
+ function set$1(mom, unit, value) {
+ if (mom.isValid() && !isNaN(value)) {
+ if (
+ unit === 'FullYear' &&
+ isLeapYear(mom.year()) &&
+ mom.month() === 1 &&
+ mom.date() === 29
+ ) {
+ value = toInt(value);
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
+ value,
+ mom.month(),
+ daysInMonth(value, mom.month())
+ );
+ } else {
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+ }
+ }
+ }
+
+ // MOMENTS
+
+ function stringGet(units) {
+ units = normalizeUnits(units);
+ if (isFunction(this[units])) {
+ return this[units]();
+ }
+ return this;
+ }
+
+ function stringSet(units, value) {
+ if (typeof units === 'object') {
+ units = normalizeObjectUnits(units);
+ var prioritized = getPrioritizedUnits(units),
+ i;
+ for (i = 0; i < prioritized.length; i++) {
+ this[prioritized[i].unit](units[prioritized[i].unit]);
+ }
+ } else {
+ units = normalizeUnits(units);
+ if (isFunction(this[units])) {
+ return this[units](value);
+ }
+ }
+ return this;
+ }
+
+ var match1 = /\d/, // 0 - 9
+ match2 = /\d\d/, // 00 - 99
+ match3 = /\d{3}/, // 000 - 999
+ match4 = /\d{4}/, // 0000 - 9999
+ match6 = /[+-]?\d{6}/, // -999999 - 999999
+ match1to2 = /\d\d?/, // 0 - 99
+ match3to4 = /\d\d\d\d?/, // 999 - 9999
+ match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999
+ match1to3 = /\d{1,3}/, // 0 - 999
+ match1to4 = /\d{1,4}/, // 0 - 9999
+ match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999
+ matchUnsigned = /\d+/, // 0 - inf
+ matchSigned = /[+-]?\d+/, // -inf - inf
+ matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
+ matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z
+ matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
+ // any word (or two) characters or numbers including two/three word month in arabic.
+ // includes scottish gaelic two word and hyphenated months
+ matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,
+ regexes;
+
+ regexes = {};
+
+ function addRegexToken(token, regex, strictRegex) {
+ regexes[token] = isFunction(regex)
+ ? regex
+ : function (isStrict, localeData) {
+ return isStrict && strictRegex ? strictRegex : regex;
+ };
+ }
+
+ function getParseRegexForToken(token, config) {
+ if (!hasOwnProp(regexes, token)) {
+ return new RegExp(unescapeFormat(token));
+ }
+
+ return regexes[token](config._strict, config._locale);
+ }
+
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+ function unescapeFormat(s) {
+ return regexEscape(
+ s
+ .replace('\\', '')
+ .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (
+ matched,
+ p1,
+ p2,
+ p3,
+ p4
+ ) {
+ return p1 || p2 || p3 || p4;
+ })
+ );
+ }
+
+ function regexEscape(s) {
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ }
+
+ var tokens = {};
+
+ function addParseToken(token, callback) {
+ var i,
+ func = callback;
+ if (typeof token === 'string') {
+ token = [token];
+ }
+ if (isNumber(callback)) {
+ func = function (input, array) {
+ array[callback] = toInt(input);
+ };
+ }
+ for (i = 0; i < token.length; i++) {
+ tokens[token[i]] = func;
+ }
+ }
+
+ function addWeekParseToken(token, callback) {
+ addParseToken(token, function (input, array, config, token) {
+ config._w = config._w || {};
+ callback(input, config._w, config, token);
+ });
+ }
+
+ function addTimeToArrayFromToken(token, input, config) {
+ if (input != null && hasOwnProp(tokens, token)) {
+ tokens[token](input, config._a, config, token);
+ }
+ }
+
+ var YEAR = 0,
+ MONTH = 1,
+ DATE = 2,
+ HOUR = 3,
+ MINUTE = 4,
+ SECOND = 5,
+ MILLISECOND = 6,
+ WEEK = 7,
+ WEEKDAY = 8;
+
+ function mod(n, x) {
+ return ((n % x) + x) % x;
+ }
+
+ var indexOf;
+
+ if (Array.prototype.indexOf) {
+ indexOf = Array.prototype.indexOf;
+ } else {
+ indexOf = function (o) {
+ // I know
+ var i;
+ for (i = 0; i < this.length; ++i) {
+ if (this[i] === o) {
+ return i;
+ }
+ }
+ return -1;
+ };
+ }
+
+ function daysInMonth(year, month) {
+ if (isNaN(year) || isNaN(month)) {
+ return NaN;
+ }
+ var modMonth = mod(month, 12);
+ year += (month - modMonth) / 12;
+ return modMonth === 1
+ ? isLeapYear(year)
+ ? 29
+ : 28
+ : 31 - ((modMonth % 7) % 2);
+ }
+
+ // FORMATTING
+
+ addFormatToken('M', ['MM', 2], 'Mo', function () {
+ return this.month() + 1;
+ });
+
+ addFormatToken('MMM', 0, 0, function (format) {
+ return this.localeData().monthsShort(this, format);
+ });
+
+ addFormatToken('MMMM', 0, 0, function (format) {
+ return this.localeData().months(this, format);
+ });
+
+ // ALIASES
+
+ addUnitAlias('month', 'M');
+
+ // PRIORITY
+
+ addUnitPriority('month', 8);
+
+ // PARSING
+
+ addRegexToken('M', match1to2);
+ addRegexToken('MM', match1to2, match2);
+ addRegexToken('MMM', function (isStrict, locale) {
+ return locale.monthsShortRegex(isStrict);
+ });
+ addRegexToken('MMMM', function (isStrict, locale) {
+ return locale.monthsRegex(isStrict);
+ });
+
+ addParseToken(['M', 'MM'], function (input, array) {
+ array[MONTH] = toInt(input) - 1;
+ });
+
+ addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
+ var month = config._locale.monthsParse(input, token, config._strict);
+ // if we didn't find a month name, mark the date as invalid.
+ if (month != null) {
+ array[MONTH] = month;
+ } else {
+ getParsingFlags(config).invalidMonth = input;
+ }
+ });
+
+ // LOCALES
+
+ var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(
+ '_'
+ ),
+ MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
+ defaultMonthsShortRegex = matchWord,
+ defaultMonthsRegex = matchWord;
+
+ function localeMonths(m, format) {
+ if (!m) {
+ return isArray(this._months)
+ ? this._months
+ : this._months['standalone'];
+ }
+ return isArray(this._months)
+ ? this._months[m.month()]
+ : this._months[
+ (this._months.isFormat || MONTHS_IN_FORMAT).test(format)
+ ? 'format'
+ : 'standalone'
+ ][m.month()];
+ }
+
+ function localeMonthsShort(m, format) {
+ if (!m) {
+ return isArray(this._monthsShort)
+ ? this._monthsShort
+ : this._monthsShort['standalone'];
+ }
+ return isArray(this._monthsShort)
+ ? this._monthsShort[m.month()]
+ : this._monthsShort[
+ MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'
+ ][m.month()];
+ }
+
+ function handleStrictParse(monthName, format, strict) {
+ var i,
+ ii,
+ mom,
+ llc = monthName.toLocaleLowerCase();
+ if (!this._monthsParse) {
+ // this is not used
+ this._monthsParse = [];
+ this._longMonthsParse = [];
+ this._shortMonthsParse = [];
+ for (i = 0; i < 12; ++i) {
+ mom = createUTC([2000, i]);
+ this._shortMonthsParse[i] = this.monthsShort(
+ mom,
+ ''
+ ).toLocaleLowerCase();
+ this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
+ }
+ }
+
+ if (strict) {
+ if (format === 'MMM') {
+ ii = indexOf.call(this._shortMonthsParse, llc);
+ return ii !== -1 ? ii : null;
+ } else {
+ ii = indexOf.call(this._longMonthsParse, llc);
+ return ii !== -1 ? ii : null;
+ }
+ } else {
+ if (format === 'MMM') {
+ ii = indexOf.call(this._shortMonthsParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._longMonthsParse, llc);
+ return ii !== -1 ? ii : null;
+ } else {
+ ii = indexOf.call(this._longMonthsParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._shortMonthsParse, llc);
+ return ii !== -1 ? ii : null;
+ }
+ }
+ }
+
+ function localeMonthsParse(monthName, format, strict) {
+ var i, mom, regex;
+
+ if (this._monthsParseExact) {
+ return handleStrictParse.call(this, monthName, format, strict);
+ }
+
+ if (!this._monthsParse) {
+ this._monthsParse = [];
+ this._longMonthsParse = [];
+ this._shortMonthsParse = [];
+ }
+
+ // TODO: add sorting
+ // Sorting makes sure if one month (or abbr) is a prefix of another
+ // see sorting in computeMonthsParse
+ for (i = 0; i < 12; i++) {
+ // make the regex if we don't have it already
+ mom = createUTC([2000, i]);
+ if (strict && !this._longMonthsParse[i]) {
+ this._longMonthsParse[i] = new RegExp(
+ '^' + this.months(mom, '').replace('.', '') + '$',
+ 'i'
+ );
+ this._shortMonthsParse[i] = new RegExp(
+ '^' + this.monthsShort(mom, '').replace('.', '') + '$',
+ 'i'
+ );
+ }
+ if (!strict && !this._monthsParse[i]) {
+ regex =
+ '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+ this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (
+ strict &&
+ format === 'MMMM' &&
+ this._longMonthsParse[i].test(monthName)
+ ) {
+ return i;
+ } else if (
+ strict &&
+ format === 'MMM' &&
+ this._shortMonthsParse[i].test(monthName)
+ ) {
+ return i;
+ } else if (!strict && this._monthsParse[i].test(monthName)) {
+ return i;
+ }
+ }
+ }
+
+ // MOMENTS
+
+ function setMonth(mom, value) {
+ var dayOfMonth;
+
+ if (!mom.isValid()) {
+ // No op
+ return mom;
+ }
+
+ if (typeof value === 'string') {
+ if (/^\d+$/.test(value)) {
+ value = toInt(value);
+ } else {
+ value = mom.localeData().monthsParse(value);
+ // TODO: Another silent failure?
+ if (!isNumber(value)) {
+ return mom;
+ }
+ }
+ }
+
+ dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+ return mom;
+ }
+
+ function getSetMonth(value) {
+ if (value != null) {
+ setMonth(this, value);
+ hooks.updateOffset(this, true);
+ return this;
+ } else {
+ return get(this, 'Month');
+ }
+ }
+
+ function getDaysInMonth() {
+ return daysInMonth(this.year(), this.month());
+ }
+
+ function monthsShortRegex(isStrict) {
+ if (this._monthsParseExact) {
+ if (!hasOwnProp(this, '_monthsRegex')) {
+ computeMonthsParse.call(this);
+ }
+ if (isStrict) {
+ return this._monthsShortStrictRegex;
+ } else {
+ return this._monthsShortRegex;
+ }
+ } else {
+ if (!hasOwnProp(this, '_monthsShortRegex')) {
+ this._monthsShortRegex = defaultMonthsShortRegex;
+ }
+ return this._monthsShortStrictRegex && isStrict
+ ? this._monthsShortStrictRegex
+ : this._monthsShortRegex;
+ }
+ }
+
+ function monthsRegex(isStrict) {
+ if (this._monthsParseExact) {
+ if (!hasOwnProp(this, '_monthsRegex')) {
+ computeMonthsParse.call(this);
+ }
+ if (isStrict) {
+ return this._monthsStrictRegex;
+ } else {
+ return this._monthsRegex;
+ }
+ } else {
+ if (!hasOwnProp(this, '_monthsRegex')) {
+ this._monthsRegex = defaultMonthsRegex;
+ }
+ return this._monthsStrictRegex && isStrict
+ ? this._monthsStrictRegex
+ : this._monthsRegex;
+ }
+ }
+
+ function computeMonthsParse() {
+ function cmpLenRev(a, b) {
+ return b.length - a.length;
+ }
+
+ var shortPieces = [],
+ longPieces = [],
+ mixedPieces = [],
+ i,
+ mom;
+ for (i = 0; i < 12; i++) {
+ // make the regex if we don't have it already
+ mom = createUTC([2000, i]);
+ shortPieces.push(this.monthsShort(mom, ''));
+ longPieces.push(this.months(mom, ''));
+ mixedPieces.push(this.months(mom, ''));
+ mixedPieces.push(this.monthsShort(mom, ''));
+ }
+ // Sorting makes sure if one month (or abbr) is a prefix of another it
+ // will match the longer piece.
+ shortPieces.sort(cmpLenRev);
+ longPieces.sort(cmpLenRev);
+ mixedPieces.sort(cmpLenRev);
+ for (i = 0; i < 12; i++) {
+ shortPieces[i] = regexEscape(shortPieces[i]);
+ longPieces[i] = regexEscape(longPieces[i]);
+ }
+ for (i = 0; i < 24; i++) {
+ mixedPieces[i] = regexEscape(mixedPieces[i]);
+ }
+
+ this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+ this._monthsShortRegex = this._monthsRegex;
+ this._monthsStrictRegex = new RegExp(
+ '^(' + longPieces.join('|') + ')',
+ 'i'
+ );
+ this._monthsShortStrictRegex = new RegExp(
+ '^(' + shortPieces.join('|') + ')',
+ 'i'
+ );
+ }
+
+ // FORMATTING
+
+ addFormatToken('Y', 0, 0, function () {
+ var y = this.year();
+ return y <= 9999 ? zeroFill(y, 4) : '+' + y;
+ });
+
+ addFormatToken(0, ['YY', 2], 0, function () {
+ return this.year() % 100;
+ });
+
+ addFormatToken(0, ['YYYY', 4], 0, 'year');
+ addFormatToken(0, ['YYYYY', 5], 0, 'year');
+ addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+ // ALIASES
+
+ addUnitAlias('year', 'y');
+
+ // PRIORITIES
+
+ addUnitPriority('year', 1);
+
+ // PARSING
+
+ addRegexToken('Y', matchSigned);
+ addRegexToken('YY', match1to2, match2);
+ addRegexToken('YYYY', match1to4, match4);
+ addRegexToken('YYYYY', match1to6, match6);
+ addRegexToken('YYYYYY', match1to6, match6);
+
+ addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+ addParseToken('YYYY', function (input, array) {
+ array[YEAR] =
+ input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+ });
+ addParseToken('YY', function (input, array) {
+ array[YEAR] = hooks.parseTwoDigitYear(input);
+ });
+ addParseToken('Y', function (input, array) {
+ array[YEAR] = parseInt(input, 10);
+ });
+
+ // HELPERS
+
+ function daysInYear(year) {
+ return isLeapYear(year) ? 366 : 365;
+ }
+
+ // HOOKS
+
+ hooks.parseTwoDigitYear = function (input) {
+ return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+ };
+
+ // MOMENTS
+
+ var getSetYear = makeGetSet('FullYear', true);
+
+ function getIsLeapYear() {
+ return isLeapYear(this.year());
+ }
+
+ function createDate(y, m, d, h, M, s, ms) {
+ // can't just apply() to create a date:
+ // https://stackoverflow.com/q/181348
+ var date;
+ // the date constructor remaps years 0-99 to 1900-1999
+ if (y < 100 && y >= 0) {
+ // preserve leap years using a full 400 year cycle, then reset
+ date = new Date(y + 400, m, d, h, M, s, ms);
+ if (isFinite(date.getFullYear())) {
+ date.setFullYear(y);
+ }
+ } else {
+ date = new Date(y, m, d, h, M, s, ms);
+ }
+
+ return date;
+ }
+
+ function createUTCDate(y) {
+ var date, args;
+ // the Date.UTC function remaps years 0-99 to 1900-1999
+ if (y < 100 && y >= 0) {
+ args = Array.prototype.slice.call(arguments);
+ // preserve leap years using a full 400 year cycle, then reset
+ args[0] = y + 400;
+ date = new Date(Date.UTC.apply(null, args));
+ if (isFinite(date.getUTCFullYear())) {
+ date.setUTCFullYear(y);
+ }
+ } else {
+ date = new Date(Date.UTC.apply(null, arguments));
+ }
+
+ return date;
+ }
+
+ // start-of-first-week - start-of-year
+ function firstWeekOffset(year, dow, doy) {
+ var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
+ fwd = 7 + dow - doy,
+ // first-week day local weekday -- which local weekday is fwd
+ fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
+
+ return -fwdlw + fwd - 1;
+ }
+
+ // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+ function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
+ var localWeekday = (7 + weekday - dow) % 7,
+ weekOffset = firstWeekOffset(year, dow, doy),
+ dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
+ resYear,
+ resDayOfYear;
+
+ if (dayOfYear <= 0) {
+ resYear = year - 1;
+ resDayOfYear = daysInYear(resYear) + dayOfYear;
+ } else if (dayOfYear > daysInYear(year)) {
+ resYear = year + 1;
+ resDayOfYear = dayOfYear - daysInYear(year);
+ } else {
+ resYear = year;
+ resDayOfYear = dayOfYear;
+ }
+
+ return {
+ year: resYear,
+ dayOfYear: resDayOfYear,
+ };
+ }
+
+ function weekOfYear(mom, dow, doy) {
+ var weekOffset = firstWeekOffset(mom.year(), dow, doy),
+ week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
+ resWeek,
+ resYear;
+
+ if (week < 1) {
+ resYear = mom.year() - 1;
+ resWeek = week + weeksInYear(resYear, dow, doy);
+ } else if (week > weeksInYear(mom.year(), dow, doy)) {
+ resWeek = week - weeksInYear(mom.year(), dow, doy);
+ resYear = mom.year() + 1;
+ } else {
+ resYear = mom.year();
+ resWeek = week;
+ }
+
+ return {
+ week: resWeek,
+ year: resYear,
+ };
+ }
+
+ function weeksInYear(year, dow, doy) {
+ var weekOffset = firstWeekOffset(year, dow, doy),
+ weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
+ return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
+ }
+
+ // FORMATTING
+
+ addFormatToken('w', ['ww', 2], 'wo', 'week');
+ addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
+
+ // ALIASES
+
+ addUnitAlias('week', 'w');
+ addUnitAlias('isoWeek', 'W');
+
+ // PRIORITIES
+
+ addUnitPriority('week', 5);
+ addUnitPriority('isoWeek', 5);
+
+ // PARSING
+
+ addRegexToken('w', match1to2);
+ addRegexToken('ww', match1to2, match2);
+ addRegexToken('W', match1to2);
+ addRegexToken('WW', match1to2, match2);
+
+ addWeekParseToken(['w', 'ww', 'W', 'WW'], function (
+ input,
+ week,
+ config,
+ token
+ ) {
+ week[token.substr(0, 1)] = toInt(input);
+ });
+
+ // HELPERS
+
+ // LOCALES
+
+ function localeWeek(mom) {
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
+ }
+
+ var defaultLocaleWeek = {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ };
+
+ function localeFirstDayOfWeek() {
+ return this._week.dow;
+ }
+
+ function localeFirstDayOfYear() {
+ return this._week.doy;
+ }
+
+ // MOMENTS
+
+ function getSetWeek(input) {
+ var week = this.localeData().week(this);
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ }
+
+ function getSetISOWeek(input) {
+ var week = weekOfYear(this, 1, 4).week;
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ }
+
+ // FORMATTING
+
+ addFormatToken('d', 0, 'do', 'day');
+
+ addFormatToken('dd', 0, 0, function (format) {
+ return this.localeData().weekdaysMin(this, format);
+ });
+
+ addFormatToken('ddd', 0, 0, function (format) {
+ return this.localeData().weekdaysShort(this, format);
+ });
+
+ addFormatToken('dddd', 0, 0, function (format) {
+ return this.localeData().weekdays(this, format);
+ });
+
+ addFormatToken('e', 0, 0, 'weekday');
+ addFormatToken('E', 0, 0, 'isoWeekday');
+
+ // ALIASES
+
+ addUnitAlias('day', 'd');
+ addUnitAlias('weekday', 'e');
+ addUnitAlias('isoWeekday', 'E');
+
+ // PRIORITY
+ addUnitPriority('day', 11);
+ addUnitPriority('weekday', 11);
+ addUnitPriority('isoWeekday', 11);
+
+ // PARSING
+
+ addRegexToken('d', match1to2);
+ addRegexToken('e', match1to2);
+ addRegexToken('E', match1to2);
+ addRegexToken('dd', function (isStrict, locale) {
+ return locale.weekdaysMinRegex(isStrict);
+ });
+ addRegexToken('ddd', function (isStrict, locale) {
+ return locale.weekdaysShortRegex(isStrict);
+ });
+ addRegexToken('dddd', function (isStrict, locale) {
+ return locale.weekdaysRegex(isStrict);
+ });
+
+ addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
+ var weekday = config._locale.weekdaysParse(input, token, config._strict);
+ // if we didn't get a weekday name, mark the date as invalid
+ if (weekday != null) {
+ week.d = weekday;
+ } else {
+ getParsingFlags(config).invalidWeekday = input;
+ }
+ });
+
+ addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
+ week[token] = toInt(input);
+ });
+
+ // HELPERS
+
+ function parseWeekday(input, locale) {
+ if (typeof input !== 'string') {
+ return input;
+ }
+
+ if (!isNaN(input)) {
+ return parseInt(input, 10);
+ }
+
+ input = locale.weekdaysParse(input);
+ if (typeof input === 'number') {
+ return input;
+ }
+
+ return null;
+ }
+
+ function parseIsoWeekday(input, locale) {
+ if (typeof input === 'string') {
+ return locale.weekdaysParse(input) % 7 || 7;
+ }
+ return isNaN(input) ? null : input;
+ }
+
+ // LOCALES
+ function shiftWeekdays(ws, n) {
+ return ws.slice(n, 7).concat(ws.slice(0, n));
+ }
+
+ var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ defaultWeekdaysRegex = matchWord,
+ defaultWeekdaysShortRegex = matchWord,
+ defaultWeekdaysMinRegex = matchWord;
+
+ function localeWeekdays(m, format) {
+ var weekdays = isArray(this._weekdays)
+ ? this._weekdays
+ : this._weekdays[
+ m && m !== true && this._weekdays.isFormat.test(format)
+ ? 'format'
+ : 'standalone'
+ ];
+ return m === true
+ ? shiftWeekdays(weekdays, this._week.dow)
+ : m
+ ? weekdays[m.day()]
+ : weekdays;
+ }
+
+ function localeWeekdaysShort(m) {
+ return m === true
+ ? shiftWeekdays(this._weekdaysShort, this._week.dow)
+ : m
+ ? this._weekdaysShort[m.day()]
+ : this._weekdaysShort;
+ }
+
+ function localeWeekdaysMin(m) {
+ return m === true
+ ? shiftWeekdays(this._weekdaysMin, this._week.dow)
+ : m
+ ? this._weekdaysMin[m.day()]
+ : this._weekdaysMin;
+ }
+
+ function handleStrictParse$1(weekdayName, format, strict) {
+ var i,
+ ii,
+ mom,
+ llc = weekdayName.toLocaleLowerCase();
+ if (!this._weekdaysParse) {
+ this._weekdaysParse = [];
+ this._shortWeekdaysParse = [];
+ this._minWeekdaysParse = [];
+
+ for (i = 0; i < 7; ++i) {
+ mom = createUTC([2000, 1]).day(i);
+ this._minWeekdaysParse[i] = this.weekdaysMin(
+ mom,
+ ''
+ ).toLocaleLowerCase();
+ this._shortWeekdaysParse[i] = this.weekdaysShort(
+ mom,
+ ''
+ ).toLocaleLowerCase();
+ this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
+ }
+ }
+
+ if (strict) {
+ if (format === 'dddd') {
+ ii = indexOf.call(this._weekdaysParse, llc);
+ return ii !== -1 ? ii : null;
+ } else if (format === 'ddd') {
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
+ return ii !== -1 ? ii : null;
+ } else {
+ ii = indexOf.call(this._minWeekdaysParse, llc);
+ return ii !== -1 ? ii : null;
+ }
+ } else {
+ if (format === 'dddd') {
+ ii = indexOf.call(this._weekdaysParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._minWeekdaysParse, llc);
+ return ii !== -1 ? ii : null;
+ } else if (format === 'ddd') {
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._weekdaysParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._minWeekdaysParse, llc);
+ return ii !== -1 ? ii : null;
+ } else {
+ ii = indexOf.call(this._minWeekdaysParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._weekdaysParse, llc);
+ if (ii !== -1) {
+ return ii;
+ }
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
+ return ii !== -1 ? ii : null;
+ }
+ }
+ }
+
+ function localeWeekdaysParse(weekdayName, format, strict) {
+ var i, mom, regex;
+
+ if (this._weekdaysParseExact) {
+ return handleStrictParse$1.call(this, weekdayName, format, strict);
+ }
+
+ if (!this._weekdaysParse) {
+ this._weekdaysParse = [];
+ this._minWeekdaysParse = [];
+ this._shortWeekdaysParse = [];
+ this._fullWeekdaysParse = [];
+ }
+
+ for (i = 0; i < 7; i++) {
+ // make the regex if we don't have it already
+
+ mom = createUTC([2000, 1]).day(i);
+ if (strict && !this._fullWeekdaysParse[i]) {
+ this._fullWeekdaysParse[i] = new RegExp(
+ '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$',
+ 'i'
+ );
+ this._shortWeekdaysParse[i] = new RegExp(
+ '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$',
+ 'i'
+ );
+ this._minWeekdaysParse[i] = new RegExp(
+ '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$',
+ 'i'
+ );
+ }
+ if (!this._weekdaysParse[i]) {
+ regex =
+ '^' +
+ this.weekdays(mom, '') +
+ '|^' +
+ this.weekdaysShort(mom, '') +
+ '|^' +
+ this.weekdaysMin(mom, '');
+ this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (
+ strict &&
+ format === 'dddd' &&
+ this._fullWeekdaysParse[i].test(weekdayName)
+ ) {
+ return i;
+ } else if (
+ strict &&
+ format === 'ddd' &&
+ this._shortWeekdaysParse[i].test(weekdayName)
+ ) {
+ return i;
+ } else if (
+ strict &&
+ format === 'dd' &&
+ this._minWeekdaysParse[i].test(weekdayName)
+ ) {
+ return i;
+ } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
+ return i;
+ }
+ }
+ }
+
+ // MOMENTS
+
+ function getSetDayOfWeek(input) {
+ if (!this.isValid()) {
+ return input != null ? this : NaN;
+ }
+ var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+ if (input != null) {
+ input = parseWeekday(input, this.localeData());
+ return this.add(input - day, 'd');
+ } else {
+ return day;
+ }
+ }
+
+ function getSetLocaleDayOfWeek(input) {
+ if (!this.isValid()) {
+ return input != null ? this : NaN;
+ }
+ var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+ return input == null ? weekday : this.add(input - weekday, 'd');
+ }
+
+ function getSetISODayOfWeek(input) {
+ if (!this.isValid()) {
+ return input != null ? this : NaN;
+ }
+
+ // behaves the same as moment#day except
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+ // as a setter, sunday should belong to the previous week.
+
+ if (input != null) {
+ var weekday = parseIsoWeekday(input, this.localeData());
+ return this.day(this.day() % 7 ? weekday : weekday - 7);
+ } else {
+ return this.day() || 7;
+ }
+ }
+
+ function weekdaysRegex(isStrict) {
+ if (this._weekdaysParseExact) {
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
+ computeWeekdaysParse.call(this);
+ }
+ if (isStrict) {
+ return this._weekdaysStrictRegex;
+ } else {
+ return this._weekdaysRegex;
+ }
+ } else {
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
+ this._weekdaysRegex = defaultWeekdaysRegex;
+ }
+ return this._weekdaysStrictRegex && isStrict
+ ? this._weekdaysStrictRegex
+ : this._weekdaysRegex;
+ }
+ }
+
+ function weekdaysShortRegex(isStrict) {
+ if (this._weekdaysParseExact) {
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
+ computeWeekdaysParse.call(this);
+ }
+ if (isStrict) {
+ return this._weekdaysShortStrictRegex;
+ } else {
+ return this._weekdaysShortRegex;
+ }
+ } else {
+ if (!hasOwnProp(this, '_weekdaysShortRegex')) {
+ this._weekdaysShortRegex = defaultWeekdaysShortRegex;
+ }
+ return this._weekdaysShortStrictRegex && isStrict
+ ? this._weekdaysShortStrictRegex
+ : this._weekdaysShortRegex;
+ }
+ }
+
+ function weekdaysMinRegex(isStrict) {
+ if (this._weekdaysParseExact) {
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
+ computeWeekdaysParse.call(this);
+ }
+ if (isStrict) {
+ return this._weekdaysMinStrictRegex;
+ } else {
+ return this._weekdaysMinRegex;
+ }
+ } else {
+ if (!hasOwnProp(this, '_weekdaysMinRegex')) {
+ this._weekdaysMinRegex = defaultWeekdaysMinRegex;
+ }
+ return this._weekdaysMinStrictRegex && isStrict
+ ? this._weekdaysMinStrictRegex
+ : this._weekdaysMinRegex;
+ }
+ }
+
+ function computeWeekdaysParse() {
+ function cmpLenRev(a, b) {
+ return b.length - a.length;
+ }
+
+ var minPieces = [],
+ shortPieces = [],
+ longPieces = [],
+ mixedPieces = [],
+ i,
+ mom,
+ minp,
+ shortp,
+ longp;
+ for (i = 0; i < 7; i++) {
+ // make the regex if we don't have it already
+ mom = createUTC([2000, 1]).day(i);
+ minp = regexEscape(this.weekdaysMin(mom, ''));
+ shortp = regexEscape(this.weekdaysShort(mom, ''));
+ longp = regexEscape(this.weekdays(mom, ''));
+ minPieces.push(minp);
+ shortPieces.push(shortp);
+ longPieces.push(longp);
+ mixedPieces.push(minp);
+ mixedPieces.push(shortp);
+ mixedPieces.push(longp);
+ }
+ // Sorting makes sure if one weekday (or abbr) is a prefix of another it
+ // will match the longer piece.
+ minPieces.sort(cmpLenRev);
+ shortPieces.sort(cmpLenRev);
+ longPieces.sort(cmpLenRev);
+ mixedPieces.sort(cmpLenRev);
+
+ this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+ this._weekdaysShortRegex = this._weekdaysRegex;
+ this._weekdaysMinRegex = this._weekdaysRegex;
+
+ this._weekdaysStrictRegex = new RegExp(
+ '^(' + longPieces.join('|') + ')',
+ 'i'
+ );
+ this._weekdaysShortStrictRegex = new RegExp(
+ '^(' + shortPieces.join('|') + ')',
+ 'i'
+ );
+ this._weekdaysMinStrictRegex = new RegExp(
+ '^(' + minPieces.join('|') + ')',
+ 'i'
+ );
+ }
+
+ // FORMATTING
+
+ function hFormat() {
+ return this.hours() % 12 || 12;
+ }
+
+ function kFormat() {
+ return this.hours() || 24;
+ }
+
+ addFormatToken('H', ['HH', 2], 0, 'hour');
+ addFormatToken('h', ['hh', 2], 0, hFormat);
+ addFormatToken('k', ['kk', 2], 0, kFormat);
+
+ addFormatToken('hmm', 0, 0, function () {
+ return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
+ });
+
+ addFormatToken('hmmss', 0, 0, function () {
+ return (
+ '' +
+ hFormat.apply(this) +
+ zeroFill(this.minutes(), 2) +
+ zeroFill(this.seconds(), 2)
+ );
+ });
+
+ addFormatToken('Hmm', 0, 0, function () {
+ return '' + this.hours() + zeroFill(this.minutes(), 2);
+ });
+
+ addFormatToken('Hmmss', 0, 0, function () {
+ return (
+ '' +
+ this.hours() +
+ zeroFill(this.minutes(), 2) +
+ zeroFill(this.seconds(), 2)
+ );
+ });
+
+ function meridiem(token, lowercase) {
+ addFormatToken(token, 0, 0, function () {
+ return this.localeData().meridiem(
+ this.hours(),
+ this.minutes(),
+ lowercase
+ );
+ });
+ }
+
+ meridiem('a', true);
+ meridiem('A', false);
+
+ // ALIASES
+
+ addUnitAlias('hour', 'h');
+
+ // PRIORITY
+ addUnitPriority('hour', 13);
+
+ // PARSING
+
+ function matchMeridiem(isStrict, locale) {
+ return locale._meridiemParse;
+ }
+
+ addRegexToken('a', matchMeridiem);
+ addRegexToken('A', matchMeridiem);
+ addRegexToken('H', match1to2);
+ addRegexToken('h', match1to2);
+ addRegexToken('k', match1to2);
+ addRegexToken('HH', match1to2, match2);
+ addRegexToken('hh', match1to2, match2);
+ addRegexToken('kk', match1to2, match2);
+
+ addRegexToken('hmm', match3to4);
+ addRegexToken('hmmss', match5to6);
+ addRegexToken('Hmm', match3to4);
+ addRegexToken('Hmmss', match5to6);
+
+ addParseToken(['H', 'HH'], HOUR);
+ addParseToken(['k', 'kk'], function (input, array, config) {
+ var kInput = toInt(input);
+ array[HOUR] = kInput === 24 ? 0 : kInput;
+ });
+ addParseToken(['a', 'A'], function (input, array, config) {
+ config._isPm = config._locale.isPM(input);
+ config._meridiem = input;
+ });
+ addParseToken(['h', 'hh'], function (input, array, config) {
+ array[HOUR] = toInt(input);
+ getParsingFlags(config).bigHour = true;
+ });
+ addParseToken('hmm', function (input, array, config) {
+ var pos = input.length - 2;
+ array[HOUR] = toInt(input.substr(0, pos));
+ array[MINUTE] = toInt(input.substr(pos));
+ getParsingFlags(config).bigHour = true;
+ });
+ addParseToken('hmmss', function (input, array, config) {
+ var pos1 = input.length - 4,
+ pos2 = input.length - 2;
+ array[HOUR] = toInt(input.substr(0, pos1));
+ array[MINUTE] = toInt(input.substr(pos1, 2));
+ array[SECOND] = toInt(input.substr(pos2));
+ getParsingFlags(config).bigHour = true;
+ });
+ addParseToken('Hmm', function (input, array, config) {
+ var pos = input.length - 2;
+ array[HOUR] = toInt(input.substr(0, pos));
+ array[MINUTE] = toInt(input.substr(pos));
+ });
+ addParseToken('Hmmss', function (input, array, config) {
+ var pos1 = input.length - 4,
+ pos2 = input.length - 2;
+ array[HOUR] = toInt(input.substr(0, pos1));
+ array[MINUTE] = toInt(input.substr(pos1, 2));
+ array[SECOND] = toInt(input.substr(pos2));
+ });
+
+ // LOCALES
+
+ function localeIsPM(input) {
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+ // Using charAt should be more compatible.
+ return (input + '').toLowerCase().charAt(0) === 'p';
+ }
+
+ var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i,
+ // Setting the hour should keep the time, because the user explicitly
+ // specified which hour they want. So trying to maintain the same hour (in
+ // a new timezone) makes sense. Adding/subtracting hours does not follow
+ // this rule.
+ getSetHour = makeGetSet('Hours', true);
+
+ function localeMeridiem(hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'pm' : 'PM';
+ } else {
+ return isLower ? 'am' : 'AM';
+ }
+ }
+
+ var baseConfig = {
+ calendar: defaultCalendar,
+ longDateFormat: defaultLongDateFormat,
+ invalidDate: defaultInvalidDate,
+ ordinal: defaultOrdinal,
+ dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
+ relativeTime: defaultRelativeTime,
+
+ months: defaultLocaleMonths,
+ monthsShort: defaultLocaleMonthsShort,
+
+ week: defaultLocaleWeek,
+
+ weekdays: defaultLocaleWeekdays,
+ weekdaysMin: defaultLocaleWeekdaysMin,
+ weekdaysShort: defaultLocaleWeekdaysShort,
+
+ meridiemParse: defaultLocaleMeridiemParse,
+ };
+
+ // internal storage for locale config files
+ var locales = {},
+ localeFamilies = {},
+ globalLocale;
+
+ function commonPrefix(arr1, arr2) {
+ var i,
+ minl = Math.min(arr1.length, arr2.length);
+ for (i = 0; i < minl; i += 1) {
+ if (arr1[i] !== arr2[i]) {
+ return i;
+ }
+ }
+ return minl;
+ }
+
+ function normalizeLocale(key) {
+ return key ? key.toLowerCase().replace('_', '-') : key;
+ }
+
+ // pick the locale from the array
+ // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+ // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+ function chooseLocale(names) {
+ var i = 0,
+ j,
+ next,
+ locale,
+ split;
+
+ while (i < names.length) {
+ split = normalizeLocale(names[i]).split('-');
+ j = split.length;
+ next = normalizeLocale(names[i + 1]);
+ next = next ? next.split('-') : null;
+ while (j > 0) {
+ locale = loadLocale(split.slice(0, j).join('-'));
+ if (locale) {
+ return locale;
+ }
+ if (
+ next &&
+ next.length >= j &&
+ commonPrefix(split, next) >= j - 1
+ ) {
+ //the next array item is better than a shallower substring of this one
+ break;
+ }
+ j--;
+ }
+ i++;
+ }
+ return globalLocale;
+ }
+
+ function loadLocale(name) {
+ var oldLocale = null,
+ aliasedRequire;
+ // TODO: Find a better way to register and load all the locales in Node
+ if (
+ locales[name] === undefined &&
+ typeof module !== 'undefined' &&
+ module &&
+ module.exports
+ ) {
+ try {
+ oldLocale = globalLocale._abbr;
+ aliasedRequire = require;
+ __webpack_require__(1272)("./" + name);
+ getSetGlobalLocale(oldLocale);
+ } catch (e) {
+ // mark as not found to avoid repeating expensive file require call causing high CPU
+ // when trying to find en-US, en_US, en-us for every format call
+ locales[name] = null; // null means not found
+ }
+ }
+ return locales[name];
+ }
+
+ // This function will load locale and then set the global locale. If
+ // no arguments are passed in, it will simply return the current global
+ // locale key.
+ function getSetGlobalLocale(key, values) {
+ var data;
+ if (key) {
+ if (isUndefined(values)) {
+ data = getLocale(key);
+ } else {
+ data = defineLocale(key, values);
+ }
+
+ if (data) {
+ // moment.duration._locale = moment._locale = data;
+ globalLocale = data;
+ } else {
+ if (typeof console !== 'undefined' && console.warn) {
+ //warn user if arguments are passed but the locale could not be set
+ console.warn(
+ 'Locale ' + key + ' not found. Did you forget to load it?'
+ );
+ }
+ }
+ }
+
+ return globalLocale._abbr;
+ }
+
+ function defineLocale(name, config) {
+ if (config !== null) {
+ var locale,
+ parentConfig = baseConfig;
+ config.abbr = name;
+ if (locales[name] != null) {
+ deprecateSimple(
+ 'defineLocaleOverride',
+ 'use moment.updateLocale(localeName, config) to change ' +
+ 'an existing locale. moment.defineLocale(localeName, ' +
+ 'config) should only be used for creating a new locale ' +
+ 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'
+ );
+ parentConfig = locales[name]._config;
+ } else if (config.parentLocale != null) {
+ if (locales[config.parentLocale] != null) {
+ parentConfig = locales[config.parentLocale]._config;
+ } else {
+ locale = loadLocale(config.parentLocale);
+ if (locale != null) {
+ parentConfig = locale._config;
+ } else {
+ if (!localeFamilies[config.parentLocale]) {
+ localeFamilies[config.parentLocale] = [];
+ }
+ localeFamilies[config.parentLocale].push({
+ name: name,
+ config: config,
+ });
+ return null;
+ }
+ }
+ }
+ locales[name] = new Locale(mergeConfigs(parentConfig, config));
+
+ if (localeFamilies[name]) {
+ localeFamilies[name].forEach(function (x) {
+ defineLocale(x.name, x.config);
+ });
+ }
+
+ // backwards compat for now: also set the locale
+ // make sure we set the locale AFTER all child locales have been
+ // created, so we won't end up with the child locale set.
+ getSetGlobalLocale(name);
+
+ return locales[name];
+ } else {
+ // useful for testing
+ delete locales[name];
+ return null;
+ }
+ }
+
+ function updateLocale(name, config) {
+ if (config != null) {
+ var locale,
+ tmpLocale,
+ parentConfig = baseConfig;
+
+ if (locales[name] != null && locales[name].parentLocale != null) {
+ // Update existing child locale in-place to avoid memory-leaks
+ locales[name].set(mergeConfigs(locales[name]._config, config));
+ } else {
+ // MERGE
+ tmpLocale = loadLocale(name);
+ if (tmpLocale != null) {
+ parentConfig = tmpLocale._config;
+ }
+ config = mergeConfigs(parentConfig, config);
+ if (tmpLocale == null) {
+ // updateLocale is called for creating a new locale
+ // Set abbr so it will have a name (getters return
+ // undefined otherwise).
+ config.abbr = name;
+ }
+ locale = new Locale(config);
+ locale.parentLocale = locales[name];
+ locales[name] = locale;
+ }
+
+ // backwards compat for now: also set the locale
+ getSetGlobalLocale(name);
+ } else {
+ // pass null for config to unupdate, useful for tests
+ if (locales[name] != null) {
+ if (locales[name].parentLocale != null) {
+ locales[name] = locales[name].parentLocale;
+ if (name === getSetGlobalLocale()) {
+ getSetGlobalLocale(name);
+ }
+ } else if (locales[name] != null) {
+ delete locales[name];
+ }
+ }
+ }
+ return locales[name];
+ }
+
+ // returns locale data
+ function getLocale(key) {
+ var locale;
+
+ if (key && key._locale && key._locale._abbr) {
+ key = key._locale._abbr;
+ }
+
+ if (!key) {
+ return globalLocale;
+ }
+
+ if (!isArray(key)) {
+ //short-circuit everything else
+ locale = loadLocale(key);
+ if (locale) {
+ return locale;
+ }
+ key = [key];
+ }
+
+ return chooseLocale(key);
+ }
+
+ function listLocales() {
+ return keys(locales);
+ }
+
+ function checkOverflow(m) {
+ var overflow,
+ a = m._a;
+
+ if (a && getParsingFlags(m).overflow === -2) {
+ overflow =
+ a[MONTH] < 0 || a[MONTH] > 11
+ ? MONTH
+ : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
+ ? DATE
+ : a[HOUR] < 0 ||
+ a[HOUR] > 24 ||
+ (a[HOUR] === 24 &&
+ (a[MINUTE] !== 0 ||
+ a[SECOND] !== 0 ||
+ a[MILLISECOND] !== 0))
+ ? HOUR
+ : a[MINUTE] < 0 || a[MINUTE] > 59
+ ? MINUTE
+ : a[SECOND] < 0 || a[SECOND] > 59
+ ? SECOND
+ : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
+ ? MILLISECOND
+ : -1;
+
+ if (
+ getParsingFlags(m)._overflowDayOfYear &&
+ (overflow < YEAR || overflow > DATE)
+ ) {
+ overflow = DATE;
+ }
+ if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
+ overflow = WEEK;
+ }
+ if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
+ overflow = WEEKDAY;
+ }
+
+ getParsingFlags(m).overflow = overflow;
+ }
+
+ return m;
+ }
+
+ // iso 8601 regex
+ // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
+ var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+ basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+ tzRegex = /Z|[+-]\d\d(?::?\d\d)?/,
+ isoDates = [
+ ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
+ ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
+ ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
+ ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
+ ['YYYY-DDD', /\d{4}-\d{3}/],
+ ['YYYY-MM', /\d{4}-\d\d/, false],
+ ['YYYYYYMMDD', /[+-]\d{10}/],
+ ['YYYYMMDD', /\d{8}/],
+ ['GGGG[W]WWE', /\d{4}W\d{3}/],
+ ['GGGG[W]WW', /\d{4}W\d{2}/, false],
+ ['YYYYDDD', /\d{7}/],
+ ['YYYYMM', /\d{6}/, false],
+ ['YYYY', /\d{4}/, false],
+ ],
+ // iso time formats and regexes
+ isoTimes = [
+ ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
+ ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
+ ['HH:mm:ss', /\d\d:\d\d:\d\d/],
+ ['HH:mm', /\d\d:\d\d/],
+ ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
+ ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
+ ['HHmmss', /\d\d\d\d\d\d/],
+ ['HHmm', /\d\d\d\d/],
+ ['HH', /\d\d/],
+ ],
+ aspNetJsonRegex = /^\/?Date\((-?\d+)/i,
+ // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
+ rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
+ obsOffsets = {
+ UT: 0,
+ GMT: 0,
+ EDT: -4 * 60,
+ EST: -5 * 60,
+ CDT: -5 * 60,
+ CST: -6 * 60,
+ MDT: -6 * 60,
+ MST: -7 * 60,
+ PDT: -7 * 60,
+ PST: -8 * 60,
+ };
+
+ // date from iso format
+ function configFromISO(config) {
+ var i,
+ l,
+ string = config._i,
+ match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
+ allowTime,
+ dateFormat,
+ timeFormat,
+ tzFormat;
+
+ if (match) {
+ getParsingFlags(config).iso = true;
+
+ for (i = 0, l = isoDates.length; i < l; i++) {
+ if (isoDates[i][1].exec(match[1])) {
+ dateFormat = isoDates[i][0];
+ allowTime = isoDates[i][2] !== false;
+ break;
+ }
+ }
+ if (dateFormat == null) {
+ config._isValid = false;
+ return;
+ }
+ if (match[3]) {
+ for (i = 0, l = isoTimes.length; i < l; i++) {
+ if (isoTimes[i][1].exec(match[3])) {
+ // match[2] should be 'T' or space
+ timeFormat = (match[2] || ' ') + isoTimes[i][0];
+ break;
+ }
+ }
+ if (timeFormat == null) {
+ config._isValid = false;
+ return;
+ }
+ }
+ if (!allowTime && timeFormat != null) {
+ config._isValid = false;
+ return;
+ }
+ if (match[4]) {
+ if (tzRegex.exec(match[4])) {
+ tzFormat = 'Z';
+ } else {
+ config._isValid = false;
+ return;
+ }
+ }
+ config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
+ configFromStringAndFormat(config);
+ } else {
+ config._isValid = false;
+ }
+ }
+
+ function extractFromRFC2822Strings(
+ yearStr,
+ monthStr,
+ dayStr,
+ hourStr,
+ minuteStr,
+ secondStr
+ ) {
+ var result = [
+ untruncateYear(yearStr),
+ defaultLocaleMonthsShort.indexOf(monthStr),
+ parseInt(dayStr, 10),
+ parseInt(hourStr, 10),
+ parseInt(minuteStr, 10),
+ ];
+
+ if (secondStr) {
+ result.push(parseInt(secondStr, 10));
+ }
+
+ return result;
+ }
+
+ function untruncateYear(yearStr) {
+ var year = parseInt(yearStr, 10);
+ if (year <= 49) {
+ return 2000 + year;
+ } else if (year <= 999) {
+ return 1900 + year;
+ }
+ return year;
+ }
+
+ function preprocessRFC2822(s) {
+ // Remove comments and folding whitespace and replace multiple-spaces with a single space
+ return s
+ .replace(/\([^)]*\)|[\n\t]/g, ' ')
+ .replace(/(\s\s+)/g, ' ')
+ .replace(/^\s\s*/, '')
+ .replace(/\s\s*$/, '');
+ }
+
+ function checkWeekday(weekdayStr, parsedInput, config) {
+ if (weekdayStr) {
+ // TODO: Replace the vanilla JS Date object with an independent day-of-week check.
+ var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
+ weekdayActual = new Date(
+ parsedInput[0],
+ parsedInput[1],
+ parsedInput[2]
+ ).getDay();
+ if (weekdayProvided !== weekdayActual) {
+ getParsingFlags(config).weekdayMismatch = true;
+ config._isValid = false;
+ return false;
+ }
+ }
+ return true;
+ }
+
+ function calculateOffset(obsOffset, militaryOffset, numOffset) {
+ if (obsOffset) {
+ return obsOffsets[obsOffset];
+ } else if (militaryOffset) {
+ // the only allowed military tz is Z
+ return 0;
+ } else {
+ var hm = parseInt(numOffset, 10),
+ m = hm % 100,
+ h = (hm - m) / 100;
+ return h * 60 + m;
+ }
+ }
+
+ // date and time from ref 2822 format
+ function configFromRFC2822(config) {
+ var match = rfc2822.exec(preprocessRFC2822(config._i)),
+ parsedArray;
+ if (match) {
+ parsedArray = extractFromRFC2822Strings(
+ match[4],
+ match[3],
+ match[2],
+ match[5],
+ match[6],
+ match[7]
+ );
+ if (!checkWeekday(match[1], parsedArray, config)) {
+ return;
+ }
+
+ config._a = parsedArray;
+ config._tzm = calculateOffset(match[8], match[9], match[10]);
+
+ config._d = createUTCDate.apply(null, config._a);
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+
+ getParsingFlags(config).rfc2822 = true;
+ } else {
+ config._isValid = false;
+ }
+ }
+
+ // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict
+ function configFromString(config) {
+ var matched = aspNetJsonRegex.exec(config._i);
+ if (matched !== null) {
+ config._d = new Date(+matched[1]);
+ return;
+ }
+
+ configFromISO(config);
+ if (config._isValid === false) {
+ delete config._isValid;
+ } else {
+ return;
+ }
+
+ configFromRFC2822(config);
+ if (config._isValid === false) {
+ delete config._isValid;
+ } else {
+ return;
+ }
+
+ if (config._strict) {
+ config._isValid = false;
+ } else {
+ // Final attempt, use Input Fallback
+ hooks.createFromInputFallback(config);
+ }
+ }
+
+ hooks.createFromInputFallback = deprecate(
+ 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
+ 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
+ 'discouraged and will be removed in an upcoming major release. Please refer to ' +
+ 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
+ function (config) {
+ config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
+ }
+ );
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function currentDateArray(config) {
+ // hooks is actually the exported moment object
+ var nowValue = new Date(hooks.now());
+ if (config._useUTC) {
+ return [
+ nowValue.getUTCFullYear(),
+ nowValue.getUTCMonth(),
+ nowValue.getUTCDate(),
+ ];
+ }
+ return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
+ }
+
+ // convert an array to a date.
+ // the array should mirror the parameters below
+ // note: all values past the year are optional and will default to the lowest possible value.
+ // [year, month, day , hour, minute, second, millisecond]
+ function configFromArray(config) {
+ var i,
+ date,
+ input = [],
+ currentDate,
+ expectedWeekday,
+ yearToUse;
+
+ if (config._d) {
+ return;
+ }
+
+ currentDate = currentDateArray(config);
+
+ //compute day of the year from weeks and weekdays
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+ dayOfYearFromWeekInfo(config);
+ }
+
+ //if the day of the year is set, figure out what it is
+ if (config._dayOfYear != null) {
+ yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
+
+ if (
+ config._dayOfYear > daysInYear(yearToUse) ||
+ config._dayOfYear === 0
+ ) {
+ getParsingFlags(config)._overflowDayOfYear = true;
+ }
+
+ date = createUTCDate(yearToUse, 0, config._dayOfYear);
+ config._a[MONTH] = date.getUTCMonth();
+ config._a[DATE] = date.getUTCDate();
+ }
+
+ // Default to current date.
+ // * if no year, month, day of month are given, default to today
+ // * if day of month is given, default month and year
+ // * if month is given, default only year
+ // * if year is given, don't default anything
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
+ config._a[i] = input[i] = currentDate[i];
+ }
+
+ // Zero out whatever was not defaulted, including time
+ for (; i < 7; i++) {
+ config._a[i] = input[i] =
+ config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];
+ }
+
+ // Check for 24:00:00.000
+ if (
+ config._a[HOUR] === 24 &&
+ config._a[MINUTE] === 0 &&
+ config._a[SECOND] === 0 &&
+ config._a[MILLISECOND] === 0
+ ) {
+ config._nextDay = true;
+ config._a[HOUR] = 0;
+ }
+
+ config._d = (config._useUTC ? createUTCDate : createDate).apply(
+ null,
+ input
+ );
+ expectedWeekday = config._useUTC
+ ? config._d.getUTCDay()
+ : config._d.getDay();
+
+ // Apply timezone offset from input. The actual utcOffset can be changed
+ // with parseZone.
+ if (config._tzm != null) {
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+ }
+
+ if (config._nextDay) {
+ config._a[HOUR] = 24;
+ }
+
+ // check for mismatching day of week
+ if (
+ config._w &&
+ typeof config._w.d !== 'undefined' &&
+ config._w.d !== expectedWeekday
+ ) {
+ getParsingFlags(config).weekdayMismatch = true;
+ }
+ }
+
+ function dayOfYearFromWeekInfo(config) {
+ var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
+
+ w = config._w;
+ if (w.GG != null || w.W != null || w.E != null) {
+ dow = 1;
+ doy = 4;
+
+ // TODO: We need to take the current isoWeekYear, but that depends on
+ // how we interpret now (local, utc, fixed offset). So create
+ // a now version of current config (take local/utc/offset flags, and
+ // create now).
+ weekYear = defaults(
+ w.GG,
+ config._a[YEAR],
+ weekOfYear(createLocal(), 1, 4).year
+ );
+ week = defaults(w.W, 1);
+ weekday = defaults(w.E, 1);
+ if (weekday < 1 || weekday > 7) {
+ weekdayOverflow = true;
+ }
+ } else {
+ dow = config._locale._week.dow;
+ doy = config._locale._week.doy;
+
+ curWeek = weekOfYear(createLocal(), dow, doy);
+
+ weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
+
+ // Default to current week.
+ week = defaults(w.w, curWeek.week);
+
+ if (w.d != null) {
+ // weekday -- low day numbers are considered next week
+ weekday = w.d;
+ if (weekday < 0 || weekday > 6) {
+ weekdayOverflow = true;
+ }
+ } else if (w.e != null) {
+ // local weekday -- counting starts from beginning of week
+ weekday = w.e + dow;
+ if (w.e < 0 || w.e > 6) {
+ weekdayOverflow = true;
+ }
+ } else {
+ // default to beginning of week
+ weekday = dow;
+ }
+ }
+ if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
+ getParsingFlags(config)._overflowWeeks = true;
+ } else if (weekdayOverflow != null) {
+ getParsingFlags(config)._overflowWeekday = true;
+ } else {
+ temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
+ config._a[YEAR] = temp.year;
+ config._dayOfYear = temp.dayOfYear;
+ }
+ }
+
+ // constant that refers to the ISO standard
+ hooks.ISO_8601 = function () {};
+
+ // constant that refers to the RFC 2822 form
+ hooks.RFC_2822 = function () {};
+
+ // date from string and format string
+ function configFromStringAndFormat(config) {
+ // TODO: Move this to another part of the creation flow to prevent circular deps
+ if (config._f === hooks.ISO_8601) {
+ configFromISO(config);
+ return;
+ }
+ if (config._f === hooks.RFC_2822) {
+ configFromRFC2822(config);
+ return;
+ }
+ config._a = [];
+ getParsingFlags(config).empty = true;
+
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
+ var string = '' + config._i,
+ i,
+ parsedInput,
+ tokens,
+ token,
+ skipped,
+ stringLength = string.length,
+ totalParsedInputLength = 0,
+ era;
+
+ tokens =
+ expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ parsedInput = (string.match(getParseRegexForToken(token, config)) ||
+ [])[0];
+ // console.log('token', token, 'parsedInput', parsedInput,
+ // 'regex', getParseRegexForToken(token, config));
+ if (parsedInput) {
+ skipped = string.substr(0, string.indexOf(parsedInput));
+ if (skipped.length > 0) {
+ getParsingFlags(config).unusedInput.push(skipped);
+ }
+ string = string.slice(
+ string.indexOf(parsedInput) + parsedInput.length
+ );
+ totalParsedInputLength += parsedInput.length;
+ }
+ // don't parse if it's not a known token
+ if (formatTokenFunctions[token]) {
+ if (parsedInput) {
+ getParsingFlags(config).empty = false;
+ } else {
+ getParsingFlags(config).unusedTokens.push(token);
+ }
+ addTimeToArrayFromToken(token, parsedInput, config);
+ } else if (config._strict && !parsedInput) {
+ getParsingFlags(config).unusedTokens.push(token);
+ }
+ }
+
+ // add remaining unparsed input length to the string
+ getParsingFlags(config).charsLeftOver =
+ stringLength - totalParsedInputLength;
+ if (string.length > 0) {
+ getParsingFlags(config).unusedInput.push(string);
+ }
+
+ // clear _12h flag if hour is <= 12
+ if (
+ config._a[HOUR] <= 12 &&
+ getParsingFlags(config).bigHour === true &&
+ config._a[HOUR] > 0
+ ) {
+ getParsingFlags(config).bigHour = undefined;
+ }
+
+ getParsingFlags(config).parsedDateParts = config._a.slice(0);
+ getParsingFlags(config).meridiem = config._meridiem;
+ // handle meridiem
+ config._a[HOUR] = meridiemFixWrap(
+ config._locale,
+ config._a[HOUR],
+ config._meridiem
+ );
+
+ // handle era
+ era = getParsingFlags(config).era;
+ if (era !== null) {
+ config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
+ }
+
+ configFromArray(config);
+ checkOverflow(config);
+ }
+
+ function meridiemFixWrap(locale, hour, meridiem) {
+ var isPm;
+
+ if (meridiem == null) {
+ // nothing to do
+ return hour;
+ }
+ if (locale.meridiemHour != null) {
+ return locale.meridiemHour(hour, meridiem);
+ } else if (locale.isPM != null) {
+ // Fallback
+ isPm = locale.isPM(meridiem);
+ if (isPm && hour < 12) {
+ hour += 12;
+ }
+ if (!isPm && hour === 12) {
+ hour = 0;
+ }
+ return hour;
+ } else {
+ // this is not supposed to happen
+ return hour;
+ }
+ }
+
+ // date from string and array of format strings
+ function configFromStringAndArray(config) {
+ var tempConfig,
+ bestMoment,
+ scoreToBeat,
+ i,
+ currentScore,
+ validFormatFound,
+ bestFormatIsValid = false;
+
+ if (config._f.length === 0) {
+ getParsingFlags(config).invalidFormat = true;
+ config._d = new Date(NaN);
+ return;
+ }
+
+ for (i = 0; i < config._f.length; i++) {
+ currentScore = 0;
+ validFormatFound = false;
+ tempConfig = copyConfig({}, config);
+ if (config._useUTC != null) {
+ tempConfig._useUTC = config._useUTC;
+ }
+ tempConfig._f = config._f[i];
+ configFromStringAndFormat(tempConfig);
+
+ if (isValid(tempConfig)) {
+ validFormatFound = true;
+ }
+
+ // if there is any input that was not parsed add a penalty for that format
+ currentScore += getParsingFlags(tempConfig).charsLeftOver;
+
+ //or tokens
+ currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
+
+ getParsingFlags(tempConfig).score = currentScore;
+
+ if (!bestFormatIsValid) {
+ if (
+ scoreToBeat == null ||
+ currentScore < scoreToBeat ||
+ validFormatFound
+ ) {
+ scoreToBeat = currentScore;
+ bestMoment = tempConfig;
+ if (validFormatFound) {
+ bestFormatIsValid = true;
+ }
+ }
+ } else {
+ if (currentScore < scoreToBeat) {
+ scoreToBeat = currentScore;
+ bestMoment = tempConfig;
+ }
+ }
+ }
+
+ extend(config, bestMoment || tempConfig);
+ }
+
+ function configFromObject(config) {
+ if (config._d) {
+ return;
+ }
+
+ var i = normalizeObjectUnits(config._i),
+ dayOrDate = i.day === undefined ? i.date : i.day;
+ config._a = map(
+ [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
+ function (obj) {
+ return obj && parseInt(obj, 10);
+ }
+ );
+
+ configFromArray(config);
+ }
+
+ function createFromConfig(config) {
+ var res = new Moment(checkOverflow(prepareConfig(config)));
+ if (res._nextDay) {
+ // Adding is smart enough around DST
+ res.add(1, 'd');
+ res._nextDay = undefined;
+ }
+
+ return res;
+ }
+
+ function prepareConfig(config) {
+ var input = config._i,
+ format = config._f;
+
+ config._locale = config._locale || getLocale(config._l);
+
+ if (input === null || (format === undefined && input === '')) {
+ return createInvalid({ nullInput: true });
+ }
+
+ if (typeof input === 'string') {
+ config._i = input = config._locale.preparse(input);
+ }
+
+ if (isMoment(input)) {
+ return new Moment(checkOverflow(input));
+ } else if (isDate(input)) {
+ config._d = input;
+ } else if (isArray(format)) {
+ configFromStringAndArray(config);
+ } else if (format) {
+ configFromStringAndFormat(config);
+ } else {
+ configFromInput(config);
+ }
+
+ if (!isValid(config)) {
+ config._d = null;
+ }
+
+ return config;
+ }
+
+ function configFromInput(config) {
+ var input = config._i;
+ if (isUndefined(input)) {
+ config._d = new Date(hooks.now());
+ } else if (isDate(input)) {
+ config._d = new Date(input.valueOf());
+ } else if (typeof input === 'string') {
+ configFromString(config);
+ } else if (isArray(input)) {
+ config._a = map(input.slice(0), function (obj) {
+ return parseInt(obj, 10);
+ });
+ configFromArray(config);
+ } else if (isObject(input)) {
+ configFromObject(config);
+ } else if (isNumber(input)) {
+ // from milliseconds
+ config._d = new Date(input);
+ } else {
+ hooks.createFromInputFallback(config);
+ }
+ }
+
+ function createLocalOrUTC(input, format, locale, strict, isUTC) {
+ var c = {};
+
+ if (format === true || format === false) {
+ strict = format;
+ format = undefined;
+ }
+
+ if (locale === true || locale === false) {
+ strict = locale;
+ locale = undefined;
+ }
+
+ if (
+ (isObject(input) && isObjectEmpty(input)) ||
+ (isArray(input) && input.length === 0)
+ ) {
+ input = undefined;
+ }
+ // object construction must be done this way.
+ // https://github.com/moment/moment/issues/1423
+ c._isAMomentObject = true;
+ c._useUTC = c._isUTC = isUTC;
+ c._l = locale;
+ c._i = input;
+ c._f = format;
+ c._strict = strict;
+
+ return createFromConfig(c);
+ }
+
+ function createLocal(input, format, locale, strict) {
+ return createLocalOrUTC(input, format, locale, strict, false);
+ }
+
+ var prototypeMin = deprecate(
+ 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
+ function () {
+ var other = createLocal.apply(null, arguments);
+ if (this.isValid() && other.isValid()) {
+ return other < this ? this : other;
+ } else {
+ return createInvalid();
+ }
+ }
+ ),
+ prototypeMax = deprecate(
+ 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
+ function () {
+ var other = createLocal.apply(null, arguments);
+ if (this.isValid() && other.isValid()) {
+ return other > this ? this : other;
+ } else {
+ return createInvalid();
+ }
+ }
+ );
+
+ // Pick a moment m from moments so that m[fn](other) is true for all
+ // other. This relies on the function fn to be transitive.
+ //
+ // moments should either be an array of moment objects or an array, whose
+ // first element is an array of moment objects.
+ function pickBy(fn, moments) {
+ var res, i;
+ if (moments.length === 1 && isArray(moments[0])) {
+ moments = moments[0];
+ }
+ if (!moments.length) {
+ return createLocal();
+ }
+ res = moments[0];
+ for (i = 1; i < moments.length; ++i) {
+ if (!moments[i].isValid() || moments[i][fn](res)) {
+ res = moments[i];
+ }
+ }
+ return res;
+ }
+
+ // TODO: Use [].sort instead?
+ function min() {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isBefore', args);
+ }
+
+ function max() {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isAfter', args);
+ }
+
+ var now = function () {
+ return Date.now ? Date.now() : +new Date();
+ };
+
+ var ordering = [
+ 'year',
+ 'quarter',
+ 'month',
+ 'week',
+ 'day',
+ 'hour',
+ 'minute',
+ 'second',
+ 'millisecond',
+ ];
+
+ function isDurationValid(m) {
+ var key,
+ unitHasDecimal = false,
+ i;
+ for (key in m) {
+ if (
+ hasOwnProp(m, key) &&
+ !(
+ indexOf.call(ordering, key) !== -1 &&
+ (m[key] == null || !isNaN(m[key]))
+ )
+ ) {
+ return false;
+ }
+ }
+
+ for (i = 0; i < ordering.length; ++i) {
+ if (m[ordering[i]]) {
+ if (unitHasDecimal) {
+ return false; // only allow non-integers for smallest unit
+ }
+ if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
+ unitHasDecimal = true;
+ }
+ }
+ }
+
+ return true;
+ }
+
+ function isValid$1() {
+ return this._isValid;
+ }
+
+ function createInvalid$1() {
+ return createDuration(NaN);
+ }
+
+ function Duration(duration) {
+ var normalizedInput = normalizeObjectUnits(duration),
+ years = normalizedInput.year || 0,
+ quarters = normalizedInput.quarter || 0,
+ months = normalizedInput.month || 0,
+ weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
+ days = normalizedInput.day || 0,
+ hours = normalizedInput.hour || 0,
+ minutes = normalizedInput.minute || 0,
+ seconds = normalizedInput.second || 0,
+ milliseconds = normalizedInput.millisecond || 0;
+
+ this._isValid = isDurationValid(normalizedInput);
+
+ // representation for dateAddRemove
+ this._milliseconds =
+ +milliseconds +
+ seconds * 1e3 + // 1000
+ minutes * 6e4 + // 1000 * 60
+ hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
+ // Because of dateAddRemove treats 24 hours as different from a
+ // day when working around DST, we need to store them separately
+ this._days = +days + weeks * 7;
+ // It is impossible to translate months into days without knowing
+ // which months you are are talking about, so we have to store
+ // it separately.
+ this._months = +months + quarters * 3 + years * 12;
+
+ this._data = {};
+
+ this._locale = getLocale();
+
+ this._bubble();
+ }
+
+ function isDuration(obj) {
+ return obj instanceof Duration;
+ }
+
+ function absRound(number) {
+ if (number < 0) {
+ return Math.round(-1 * number) * -1;
+ } else {
+ return Math.round(number);
+ }
+ }
+
+ // compare two arrays, return the number of differences
+ function compareArrays(array1, array2, dontConvert) {
+ var len = Math.min(array1.length, array2.length),
+ lengthDiff = Math.abs(array1.length - array2.length),
+ diffs = 0,
+ i;
+ for (i = 0; i < len; i++) {
+ if (
+ (dontConvert && array1[i] !== array2[i]) ||
+ (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))
+ ) {
+ diffs++;
+ }
+ }
+ return diffs + lengthDiff;
+ }
+
+ // FORMATTING
+
+ function offset(token, separator) {
+ addFormatToken(token, 0, 0, function () {
+ var offset = this.utcOffset(),
+ sign = '+';
+ if (offset < 0) {
+ offset = -offset;
+ sign = '-';
+ }
+ return (
+ sign +
+ zeroFill(~~(offset / 60), 2) +
+ separator +
+ zeroFill(~~offset % 60, 2)
+ );
+ });
+ }
+
+ offset('Z', ':');
+ offset('ZZ', '');
+
+ // PARSING
+
+ addRegexToken('Z', matchShortOffset);
+ addRegexToken('ZZ', matchShortOffset);
+ addParseToken(['Z', 'ZZ'], function (input, array, config) {
+ config._useUTC = true;
+ config._tzm = offsetFromString(matchShortOffset, input);
+ });
+
+ // HELPERS
+
+ // timezone chunker
+ // '+10:00' > ['10', '00']
+ // '-1530' > ['-15', '30']
+ var chunkOffset = /([\+\-]|\d\d)/gi;
+
+ function offsetFromString(matcher, string) {
+ var matches = (string || '').match(matcher),
+ chunk,
+ parts,
+ minutes;
+
+ if (matches === null) {
+ return null;
+ }
+
+ chunk = matches[matches.length - 1] || [];
+ parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
+ minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+ return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
+ }
+
+ // Return a moment from input, that is local/utc/zone equivalent to model.
+ function cloneWithOffset(input, model) {
+ var res, diff;
+ if (model._isUTC) {
+ res = model.clone();
+ diff =
+ (isMoment(input) || isDate(input)
+ ? input.valueOf()
+ : createLocal(input).valueOf()) - res.valueOf();
+ // Use low-level api, because this fn is low-level api.
+ res._d.setTime(res._d.valueOf() + diff);
+ hooks.updateOffset(res, false);
+ return res;
+ } else {
+ return createLocal(input).local();
+ }
+ }
+
+ function getDateOffset(m) {
+ // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+ // https://github.com/moment/moment/pull/1871
+ return -Math.round(m._d.getTimezoneOffset());
+ }
+
+ // HOOKS
+
+ // This function will be called whenever a moment is mutated.
+ // It is intended to keep the offset in sync with the timezone.
+ hooks.updateOffset = function () {};
+
+ // MOMENTS
+
+ // keepLocalTime = true means only change the timezone, without
+ // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
+ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
+ // +0200, so we adjust the time as needed, to be valid.
+ //
+ // Keeping the time actually adds/subtracts (one hour)
+ // from the actual represented time. That is why we call updateOffset
+ // a second time. In case it wants us to change the offset again
+ // _changeInProgress == true case, then we have to adjust, because
+ // there is no such time in the given timezone.
+ function getSetOffset(input, keepLocalTime, keepMinutes) {
+ var offset = this._offset || 0,
+ localAdjust;
+ if (!this.isValid()) {
+ return input != null ? this : NaN;
+ }
+ if (input != null) {
+ if (typeof input === 'string') {
+ input = offsetFromString(matchShortOffset, input);
+ if (input === null) {
+ return this;
+ }
+ } else if (Math.abs(input) < 16 && !keepMinutes) {
+ input = input * 60;
+ }
+ if (!this._isUTC && keepLocalTime) {
+ localAdjust = getDateOffset(this);
+ }
+ this._offset = input;
+ this._isUTC = true;
+ if (localAdjust != null) {
+ this.add(localAdjust, 'm');
+ }
+ if (offset !== input) {
+ if (!keepLocalTime || this._changeInProgress) {
+ addSubtract(
+ this,
+ createDuration(input - offset, 'm'),
+ 1,
+ false
+ );
+ } else if (!this._changeInProgress) {
+ this._changeInProgress = true;
+ hooks.updateOffset(this, true);
+ this._changeInProgress = null;
+ }
+ }
+ return this;
+ } else {
+ return this._isUTC ? offset : getDateOffset(this);
+ }
+ }
+
+ function getSetZone(input, keepLocalTime) {
+ if (input != null) {
+ if (typeof input !== 'string') {
+ input = -input;
+ }
+
+ this.utcOffset(input, keepLocalTime);
+
+ return this;
+ } else {
+ return -this.utcOffset();
+ }
+ }
+
+ function setOffsetToUTC(keepLocalTime) {
+ return this.utcOffset(0, keepLocalTime);
+ }
+
+ function setOffsetToLocal(keepLocalTime) {
+ if (this._isUTC) {
+ this.utcOffset(0, keepLocalTime);
+ this._isUTC = false;
+
+ if (keepLocalTime) {
+ this.subtract(getDateOffset(this), 'm');
+ }
+ }
+ return this;
+ }
+
+ function setOffsetToParsedOffset() {
+ if (this._tzm != null) {
+ this.utcOffset(this._tzm, false, true);
+ } else if (typeof this._i === 'string') {
+ var tZone = offsetFromString(matchOffset, this._i);
+ if (tZone != null) {
+ this.utcOffset(tZone);
+ } else {
+ this.utcOffset(0, true);
+ }
+ }
+ return this;
+ }
+
+ function hasAlignedHourOffset(input) {
+ if (!this.isValid()) {
+ return false;
+ }
+ input = input ? createLocal(input).utcOffset() : 0;
+
+ return (this.utcOffset() - input) % 60 === 0;
+ }
+
+ function isDaylightSavingTime() {
+ return (
+ this.utcOffset() > this.clone().month(0).utcOffset() ||
+ this.utcOffset() > this.clone().month(5).utcOffset()
+ );
+ }
+
+ function isDaylightSavingTimeShifted() {
+ if (!isUndefined(this._isDSTShifted)) {
+ return this._isDSTShifted;
+ }
+
+ var c = {},
+ other;
+
+ copyConfig(c, this);
+ c = prepareConfig(c);
+
+ if (c._a) {
+ other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
+ this._isDSTShifted =
+ this.isValid() && compareArrays(c._a, other.toArray()) > 0;
+ } else {
+ this._isDSTShifted = false;
+ }
+
+ return this._isDSTShifted;
+ }
+
+ function isLocal() {
+ return this.isValid() ? !this._isUTC : false;
+ }
+
+ function isUtcOffset() {
+ return this.isValid() ? this._isUTC : false;
+ }
+
+ function isUtc() {
+ return this.isValid() ? this._isUTC && this._offset === 0 : false;
+ }
+
+ // ASP.NET json date format regex
+ var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+ // and further modified to allow for strings containing both week and day
+ isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+
+ function createDuration(input, key) {
+ var duration = input,
+ // matching against regexp is expensive, do it on demand
+ match = null,
+ sign,
+ ret,
+ diffRes;
+
+ if (isDuration(input)) {
+ duration = {
+ ms: input._milliseconds,
+ d: input._days,
+ M: input._months,
+ };
+ } else if (isNumber(input) || !isNaN(+input)) {
+ duration = {};
+ if (key) {
+ duration[key] = +input;
+ } else {
+ duration.milliseconds = +input;
+ }
+ } else if ((match = aspNetRegex.exec(input))) {
+ sign = match[1] === '-' ? -1 : 1;
+ duration = {
+ y: 0,
+ d: toInt(match[DATE]) * sign,
+ h: toInt(match[HOUR]) * sign,
+ m: toInt(match[MINUTE]) * sign,
+ s: toInt(match[SECOND]) * sign,
+ ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match
+ };
+ } else if ((match = isoRegex.exec(input))) {
+ sign = match[1] === '-' ? -1 : 1;
+ duration = {
+ y: parseIso(match[2], sign),
+ M: parseIso(match[3], sign),
+ w: parseIso(match[4], sign),
+ d: parseIso(match[5], sign),
+ h: parseIso(match[6], sign),
+ m: parseIso(match[7], sign),
+ s: parseIso(match[8], sign),
+ };
+ } else if (duration == null) {
+ // checks for null or undefined
+ duration = {};
+ } else if (
+ typeof duration === 'object' &&
+ ('from' in duration || 'to' in duration)
+ ) {
+ diffRes = momentsDifference(
+ createLocal(duration.from),
+ createLocal(duration.to)
+ );
+
+ duration = {};
+ duration.ms = diffRes.milliseconds;
+ duration.M = diffRes.months;
+ }
+
+ ret = new Duration(duration);
+
+ if (isDuration(input) && hasOwnProp(input, '_locale')) {
+ ret._locale = input._locale;
+ }
+
+ if (isDuration(input) && hasOwnProp(input, '_isValid')) {
+ ret._isValid = input._isValid;
+ }
+
+ return ret;
+ }
+
+ createDuration.fn = Duration.prototype;
+ createDuration.invalid = createInvalid$1;
+
+ function parseIso(inp, sign) {
+ // We'd normally use ~~inp for this, but unfortunately it also
+ // converts floats to ints.
+ // inp may be undefined, so careful calling replace on it.
+ var res = inp && parseFloat(inp.replace(',', '.'));
+ // apply sign while we're at it
+ return (isNaN(res) ? 0 : res) * sign;
+ }
+
+ function positiveMomentsDifference(base, other) {
+ var res = {};
+
+ res.months =
+ other.month() - base.month() + (other.year() - base.year()) * 12;
+ if (base.clone().add(res.months, 'M').isAfter(other)) {
+ --res.months;
+ }
+
+ res.milliseconds = +other - +base.clone().add(res.months, 'M');
+
+ return res;
+ }
+
+ function momentsDifference(base, other) {
+ var res;
+ if (!(base.isValid() && other.isValid())) {
+ return { milliseconds: 0, months: 0 };
+ }
+
+ other = cloneWithOffset(other, base);
+ if (base.isBefore(other)) {
+ res = positiveMomentsDifference(base, other);
+ } else {
+ res = positiveMomentsDifference(other, base);
+ res.milliseconds = -res.milliseconds;
+ res.months = -res.months;
+ }
+
+ return res;
+ }
+
+ // TODO: remove 'name' arg after deprecation is removed
+ function createAdder(direction, name) {
+ return function (val, period) {
+ var dur, tmp;
+ //invert the arguments, but complain about it
+ if (period !== null && !isNaN(+period)) {
+ deprecateSimple(
+ name,
+ 'moment().' +
+ name +
+ '(period, number) is deprecated. Please use moment().' +
+ name +
+ '(number, period). ' +
+ 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'
+ );
+ tmp = val;
+ val = period;
+ period = tmp;
+ }
+
+ dur = createDuration(val, period);
+ addSubtract(this, dur, direction);
+ return this;
+ };
+ }
+
+ function addSubtract(mom, duration, isAdding, updateOffset) {
+ var milliseconds = duration._milliseconds,
+ days = absRound(duration._days),
+ months = absRound(duration._months);
+
+ if (!mom.isValid()) {
+ // No op
+ return;
+ }
+
+ updateOffset = updateOffset == null ? true : updateOffset;
+
+ if (months) {
+ setMonth(mom, get(mom, 'Month') + months * isAdding);
+ }
+ if (days) {
+ set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
+ }
+ if (milliseconds) {
+ mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
+ }
+ if (updateOffset) {
+ hooks.updateOffset(mom, days || months);
+ }
+ }
+
+ var add = createAdder(1, 'add'),
+ subtract = createAdder(-1, 'subtract');
+
+ function isString(input) {
+ return typeof input === 'string' || input instanceof String;
+ }
+
+ // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined
+ function isMomentInput(input) {
+ return (
+ isMoment(input) ||
+ isDate(input) ||
+ isString(input) ||
+ isNumber(input) ||
+ isNumberOrStringArray(input) ||
+ isMomentInputObject(input) ||
+ input === null ||
+ input === undefined
+ );
+ }
+
+ function isMomentInputObject(input) {
+ var objectTest = isObject(input) && !isObjectEmpty(input),
+ propertyTest = false,
+ properties = [
+ 'years',
+ 'year',
+ 'y',
+ 'months',
+ 'month',
+ 'M',
+ 'days',
+ 'day',
+ 'd',
+ 'dates',
+ 'date',
+ 'D',
+ 'hours',
+ 'hour',
+ 'h',
+ 'minutes',
+ 'minute',
+ 'm',
+ 'seconds',
+ 'second',
+ 's',
+ 'milliseconds',
+ 'millisecond',
+ 'ms',
+ ],
+ i,
+ property;
+
+ for (i = 0; i < properties.length; i += 1) {
+ property = properties[i];
+ propertyTest = propertyTest || hasOwnProp(input, property);
+ }
+
+ return objectTest && propertyTest;
+ }
+
+ function isNumberOrStringArray(input) {
+ var arrayTest = isArray(input),
+ dataTypeTest = false;
+ if (arrayTest) {
+ dataTypeTest =
+ input.filter(function (item) {
+ return !isNumber(item) && isString(input);
+ }).length === 0;
+ }
+ return arrayTest && dataTypeTest;
+ }
+
+ function isCalendarSpec(input) {
+ var objectTest = isObject(input) && !isObjectEmpty(input),
+ propertyTest = false,
+ properties = [
+ 'sameDay',
+ 'nextDay',
+ 'lastDay',
+ 'nextWeek',
+ 'lastWeek',
+ 'sameElse',
+ ],
+ i,
+ property;
+
+ for (i = 0; i < properties.length; i += 1) {
+ property = properties[i];
+ propertyTest = propertyTest || hasOwnProp(input, property);
+ }
+
+ return objectTest && propertyTest;
+ }
+
+ function getCalendarFormat(myMoment, now) {
+ var diff = myMoment.diff(now, 'days', true);
+ return diff < -6
+ ? 'sameElse'
+ : diff < -1
+ ? 'lastWeek'
+ : diff < 0
+ ? 'lastDay'
+ : diff < 1
+ ? 'sameDay'
+ : diff < 2
+ ? 'nextDay'
+ : diff < 7
+ ? 'nextWeek'
+ : 'sameElse';
+ }
+
+ function calendar$1(time, formats) {
+ // Support for single parameter, formats only overload to the calendar function
+ if (arguments.length === 1) {
+ if (isMomentInput(arguments[0])) {
+ time = arguments[0];
+ formats = undefined;
+ } else if (isCalendarSpec(arguments[0])) {
+ formats = arguments[0];
+ time = undefined;
+ }
+ }
+ // We want to compare the start of today, vs this.
+ // Getting start-of-today depends on whether we're local/utc/offset or not.
+ var now = time || createLocal(),
+ sod = cloneWithOffset(now, this).startOf('day'),
+ format = hooks.calendarFormat(this, sod) || 'sameElse',
+ output =
+ formats &&
+ (isFunction(formats[format])
+ ? formats[format].call(this, now)
+ : formats[format]);
+
+ return this.format(
+ output || this.localeData().calendar(format, this, createLocal(now))
+ );
+ }
+
+ function clone() {
+ return new Moment(this);
+ }
+
+ function isAfter(input, units) {
+ var localInput = isMoment(input) ? input : createLocal(input);
+ if (!(this.isValid() && localInput.isValid())) {
+ return false;
+ }
+ units = normalizeUnits(units) || 'millisecond';
+ if (units === 'millisecond') {
+ return this.valueOf() > localInput.valueOf();
+ } else {
+ return localInput.valueOf() < this.clone().startOf(units).valueOf();
+ }
+ }
+
+ function isBefore(input, units) {
+ var localInput = isMoment(input) ? input : createLocal(input);
+ if (!(this.isValid() && localInput.isValid())) {
+ return false;
+ }
+ units = normalizeUnits(units) || 'millisecond';
+ if (units === 'millisecond') {
+ return this.valueOf() < localInput.valueOf();
+ } else {
+ return this.clone().endOf(units).valueOf() < localInput.valueOf();
+ }
+ }
+
+ function isBetween(from, to, units, inclusivity) {
+ var localFrom = isMoment(from) ? from : createLocal(from),
+ localTo = isMoment(to) ? to : createLocal(to);
+ if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
+ return false;
+ }
+ inclusivity = inclusivity || '()';
+ return (
+ (inclusivity[0] === '('
+ ? this.isAfter(localFrom, units)
+ : !this.isBefore(localFrom, units)) &&
+ (inclusivity[1] === ')'
+ ? this.isBefore(localTo, units)
+ : !this.isAfter(localTo, units))
+ );
+ }
+
+ function isSame(input, units) {
+ var localInput = isMoment(input) ? input : createLocal(input),
+ inputMs;
+ if (!(this.isValid() && localInput.isValid())) {
+ return false;
+ }
+ units = normalizeUnits(units) || 'millisecond';
+ if (units === 'millisecond') {
+ return this.valueOf() === localInput.valueOf();
+ } else {
+ inputMs = localInput.valueOf();
+ return (
+ this.clone().startOf(units).valueOf() <= inputMs &&
+ inputMs <= this.clone().endOf(units).valueOf()
+ );
+ }
+ }
+
+ function isSameOrAfter(input, units) {
+ return this.isSame(input, units) || this.isAfter(input, units);
+ }
+
+ function isSameOrBefore(input, units) {
+ return this.isSame(input, units) || this.isBefore(input, units);
+ }
+
+ function diff(input, units, asFloat) {
+ var that, zoneDelta, output;
+
+ if (!this.isValid()) {
+ return NaN;
+ }
+
+ that = cloneWithOffset(input, this);
+
+ if (!that.isValid()) {
+ return NaN;
+ }
+
+ zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
+
+ units = normalizeUnits(units);
+
+ switch (units) {
+ case 'year':
+ output = monthDiff(this, that) / 12;
+ break;
+ case 'month':
+ output = monthDiff(this, that);
+ break;
+ case 'quarter':
+ output = monthDiff(this, that) / 3;
+ break;
+ case 'second':
+ output = (this - that) / 1e3;
+ break; // 1000
+ case 'minute':
+ output = (this - that) / 6e4;
+ break; // 1000 * 60
+ case 'hour':
+ output = (this - that) / 36e5;
+ break; // 1000 * 60 * 60
+ case 'day':
+ output = (this - that - zoneDelta) / 864e5;
+ break; // 1000 * 60 * 60 * 24, negate dst
+ case 'week':
+ output = (this - that - zoneDelta) / 6048e5;
+ break; // 1000 * 60 * 60 * 24 * 7, negate dst
+ default:
+ output = this - that;
+ }
+
+ return asFloat ? output : absFloor(output);
+ }
+
+ function monthDiff(a, b) {
+ if (a.date() < b.date()) {
+ // end-of-month calculations work correct when the start month has more
+ // days than the end month.
+ return -monthDiff(b, a);
+ }
+ // difference in months
+ var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
+ // b is in (anchor - 1 month, anchor + 1 month)
+ anchor = a.clone().add(wholeMonthDiff, 'months'),
+ anchor2,
+ adjust;
+
+ if (b - anchor < 0) {
+ anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
+ // linear across the month
+ adjust = (b - anchor) / (anchor - anchor2);
+ } else {
+ anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
+ // linear across the month
+ adjust = (b - anchor) / (anchor2 - anchor);
+ }
+
+ //check for negative zero, return zero if negative zero
+ return -(wholeMonthDiff + adjust) || 0;
+ }
+
+ hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
+ hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
+
+ function toString() {
+ return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+ }
+
+ function toISOString(keepOffset) {
+ if (!this.isValid()) {
+ return null;
+ }
+ var utc = keepOffset !== true,
+ m = utc ? this.clone().utc() : this;
+ if (m.year() < 0 || m.year() > 9999) {
+ return formatMoment(
+ m,
+ utc
+ ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'
+ : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'
+ );
+ }
+ if (isFunction(Date.prototype.toISOString)) {
+ // native implementation is ~50x faster, use it when we can
+ if (utc) {
+ return this.toDate().toISOString();
+ } else {
+ return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)
+ .toISOString()
+ .replace('Z', formatMoment(m, 'Z'));
+ }
+ }
+ return formatMoment(
+ m,
+ utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'
+ );
+ }
+
+ /**
+ * Return a human readable representation of a moment that can
+ * also be evaluated to get a new moment which is the same
+ *
+ * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
+ */
+ function inspect() {
+ if (!this.isValid()) {
+ return 'moment.invalid(/* ' + this._i + ' */)';
+ }
+ var func = 'moment',
+ zone = '',
+ prefix,
+ year,
+ datetime,
+ suffix;
+ if (!this.isLocal()) {
+ func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
+ zone = 'Z';
+ }
+ prefix = '[' + func + '("]';
+ year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
+ datetime = '-MM-DD[T]HH:mm:ss.SSS';
+ suffix = zone + '[")]';
+
+ return this.format(prefix + year + datetime + suffix);
+ }
+
+ function format(inputString) {
+ if (!inputString) {
+ inputString = this.isUtc()
+ ? hooks.defaultFormatUtc
+ : hooks.defaultFormat;
+ }
+ var output = formatMoment(this, inputString);
+ return this.localeData().postformat(output);
+ }
+
+ function from(time, withoutSuffix) {
+ if (
+ this.isValid() &&
+ ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
+ ) {
+ return createDuration({ to: this, from: time })
+ .locale(this.locale())
+ .humanize(!withoutSuffix);
+ } else {
+ return this.localeData().invalidDate();
+ }
+ }
+
+ function fromNow(withoutSuffix) {
+ return this.from(createLocal(), withoutSuffix);
+ }
+
+ function to(time, withoutSuffix) {
+ if (
+ this.isValid() &&
+ ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
+ ) {
+ return createDuration({ from: this, to: time })
+ .locale(this.locale())
+ .humanize(!withoutSuffix);
+ } else {
+ return this.localeData().invalidDate();
+ }
+ }
+
+ function toNow(withoutSuffix) {
+ return this.to(createLocal(), withoutSuffix);
+ }
+
+ // If passed a locale key, it will set the locale for this
+ // instance. Otherwise, it will return the locale configuration
+ // variables for this instance.
+ function locale(key) {
+ var newLocaleData;
+
+ if (key === undefined) {
+ return this._locale._abbr;
+ } else {
+ newLocaleData = getLocale(key);
+ if (newLocaleData != null) {
+ this._locale = newLocaleData;
+ }
+ return this;
+ }
+ }
+
+ var lang = deprecate(
+ 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
+ function (key) {
+ if (key === undefined) {
+ return this.localeData();
+ } else {
+ return this.locale(key);
+ }
+ }
+ );
+
+ function localeData() {
+ return this._locale;
+ }
+
+ var MS_PER_SECOND = 1000,
+ MS_PER_MINUTE = 60 * MS_PER_SECOND,
+ MS_PER_HOUR = 60 * MS_PER_MINUTE,
+ MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
+
+ // actual modulo - handles negative numbers (for dates before 1970):
+ function mod$1(dividend, divisor) {
+ return ((dividend % divisor) + divisor) % divisor;
+ }
+
+ function localStartOfDate(y, m, d) {
+ // the date constructor remaps years 0-99 to 1900-1999
+ if (y < 100 && y >= 0) {
+ // preserve leap years using a full 400 year cycle, then reset
+ return new Date(y + 400, m, d) - MS_PER_400_YEARS;
+ } else {
+ return new Date(y, m, d).valueOf();
+ }
+ }
+
+ function utcStartOfDate(y, m, d) {
+ // Date.UTC remaps years 0-99 to 1900-1999
+ if (y < 100 && y >= 0) {
+ // preserve leap years using a full 400 year cycle, then reset
+ return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
+ } else {
+ return Date.UTC(y, m, d);
+ }
+ }
+
+ function startOf(units) {
+ var time, startOfDate;
+ units = normalizeUnits(units);
+ if (units === undefined || units === 'millisecond' || !this.isValid()) {
+ return this;
+ }
+
+ startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+ switch (units) {
+ case 'year':
+ time = startOfDate(this.year(), 0, 1);
+ break;
+ case 'quarter':
+ time = startOfDate(
+ this.year(),
+ this.month() - (this.month() % 3),
+ 1
+ );
+ break;
+ case 'month':
+ time = startOfDate(this.year(), this.month(), 1);
+ break;
+ case 'week':
+ time = startOfDate(
+ this.year(),
+ this.month(),
+ this.date() - this.weekday()
+ );
+ break;
+ case 'isoWeek':
+ time = startOfDate(
+ this.year(),
+ this.month(),
+ this.date() - (this.isoWeekday() - 1)
+ );
+ break;
+ case 'day':
+ case 'date':
+ time = startOfDate(this.year(), this.month(), this.date());
+ break;
+ case 'hour':
+ time = this._d.valueOf();
+ time -= mod$1(
+ time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
+ MS_PER_HOUR
+ );
+ break;
+ case 'minute':
+ time = this._d.valueOf();
+ time -= mod$1(time, MS_PER_MINUTE);
+ break;
+ case 'second':
+ time = this._d.valueOf();
+ time -= mod$1(time, MS_PER_SECOND);
+ break;
+ }
+
+ this._d.setTime(time);
+ hooks.updateOffset(this, true);
+ return this;
+ }
+
+ function endOf(units) {
+ var time, startOfDate;
+ units = normalizeUnits(units);
+ if (units === undefined || units === 'millisecond' || !this.isValid()) {
+ return this;
+ }
+
+ startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+ switch (units) {
+ case 'year':
+ time = startOfDate(this.year() + 1, 0, 1) - 1;
+ break;
+ case 'quarter':
+ time =
+ startOfDate(
+ this.year(),
+ this.month() - (this.month() % 3) + 3,
+ 1
+ ) - 1;
+ break;
+ case 'month':
+ time = startOfDate(this.year(), this.month() + 1, 1) - 1;
+ break;
+ case 'week':
+ time =
+ startOfDate(
+ this.year(),
+ this.month(),
+ this.date() - this.weekday() + 7
+ ) - 1;
+ break;
+ case 'isoWeek':
+ time =
+ startOfDate(
+ this.year(),
+ this.month(),
+ this.date() - (this.isoWeekday() - 1) + 7
+ ) - 1;
+ break;
+ case 'day':
+ case 'date':
+ time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
+ break;
+ case 'hour':
+ time = this._d.valueOf();
+ time +=
+ MS_PER_HOUR -
+ mod$1(
+ time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
+ MS_PER_HOUR
+ ) -
+ 1;
+ break;
+ case 'minute':
+ time = this._d.valueOf();
+ time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
+ break;
+ case 'second':
+ time = this._d.valueOf();
+ time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
+ break;
+ }
+
+ this._d.setTime(time);
+ hooks.updateOffset(this, true);
+ return this;
+ }
+
+ function valueOf() {
+ return this._d.valueOf() - (this._offset || 0) * 60000;
+ }
+
+ function unix() {
+ return Math.floor(this.valueOf() / 1000);
+ }
+
+ function toDate() {
+ return new Date(this.valueOf());
+ }
+
+ function toArray() {
+ var m = this;
+ return [
+ m.year(),
+ m.month(),
+ m.date(),
+ m.hour(),
+ m.minute(),
+ m.second(),
+ m.millisecond(),
+ ];
+ }
+
+ function toObject() {
+ var m = this;
+ return {
+ years: m.year(),
+ months: m.month(),
+ date: m.date(),
+ hours: m.hours(),
+ minutes: m.minutes(),
+ seconds: m.seconds(),
+ milliseconds: m.milliseconds(),
+ };
+ }
+
+ function toJSON() {
+ // new Date(NaN).toJSON() === null
+ return this.isValid() ? this.toISOString() : null;
+ }
+
+ function isValid$2() {
+ return isValid(this);
+ }
+
+ function parsingFlags() {
+ return extend({}, getParsingFlags(this));
+ }
+
+ function invalidAt() {
+ return getParsingFlags(this).overflow;
+ }
+
+ function creationData() {
+ return {
+ input: this._i,
+ format: this._f,
+ locale: this._locale,
+ isUTC: this._isUTC,
+ strict: this._strict,
+ };
+ }
+
+ addFormatToken('N', 0, 0, 'eraAbbr');
+ addFormatToken('NN', 0, 0, 'eraAbbr');
+ addFormatToken('NNN', 0, 0, 'eraAbbr');
+ addFormatToken('NNNN', 0, 0, 'eraName');
+ addFormatToken('NNNNN', 0, 0, 'eraNarrow');
+
+ addFormatToken('y', ['y', 1], 'yo', 'eraYear');
+ addFormatToken('y', ['yy', 2], 0, 'eraYear');
+ addFormatToken('y', ['yyy', 3], 0, 'eraYear');
+ addFormatToken('y', ['yyyy', 4], 0, 'eraYear');
+
+ addRegexToken('N', matchEraAbbr);
+ addRegexToken('NN', matchEraAbbr);
+ addRegexToken('NNN', matchEraAbbr);
+ addRegexToken('NNNN', matchEraName);
+ addRegexToken('NNNNN', matchEraNarrow);
+
+ addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (
+ input,
+ array,
+ config,
+ token
+ ) {
+ var era = config._locale.erasParse(input, token, config._strict);
+ if (era) {
+ getParsingFlags(config).era = era;
+ } else {
+ getParsingFlags(config).invalidEra = input;
+ }
+ });
+
+ addRegexToken('y', matchUnsigned);
+ addRegexToken('yy', matchUnsigned);
+ addRegexToken('yyy', matchUnsigned);
+ addRegexToken('yyyy', matchUnsigned);
+ addRegexToken('yo', matchEraYearOrdinal);
+
+ addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);
+ addParseToken(['yo'], function (input, array, config, token) {
+ var match;
+ if (config._locale._eraYearOrdinalRegex) {
+ match = input.match(config._locale._eraYearOrdinalRegex);
+ }
+
+ if (config._locale.eraYearOrdinalParse) {
+ array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
+ } else {
+ array[YEAR] = parseInt(input, 10);
+ }
+ });
+
+ function localeEras(m, format) {
+ var i,
+ l,
+ date,
+ eras = this._eras || getLocale('en')._eras;
+ for (i = 0, l = eras.length; i < l; ++i) {
+ switch (typeof eras[i].since) {
+ case 'string':
+ // truncate time
+ date = hooks(eras[i].since).startOf('day');
+ eras[i].since = date.valueOf();
+ break;
+ }
+
+ switch (typeof eras[i].until) {
+ case 'undefined':
+ eras[i].until = +Infinity;
+ break;
+ case 'string':
+ // truncate time
+ date = hooks(eras[i].until).startOf('day').valueOf();
+ eras[i].until = date.valueOf();
+ break;
+ }
+ }
+ return eras;
+ }
+
+ function localeErasParse(eraName, format, strict) {
+ var i,
+ l,
+ eras = this.eras(),
+ name,
+ abbr,
+ narrow;
+ eraName = eraName.toUpperCase();
+
+ for (i = 0, l = eras.length; i < l; ++i) {
+ name = eras[i].name.toUpperCase();
+ abbr = eras[i].abbr.toUpperCase();
+ narrow = eras[i].narrow.toUpperCase();
+
+ if (strict) {
+ switch (format) {
+ case 'N':
+ case 'NN':
+ case 'NNN':
+ if (abbr === eraName) {
+ return eras[i];
+ }
+ break;
+
+ case 'NNNN':
+ if (name === eraName) {
+ return eras[i];
+ }
+ break;
+
+ case 'NNNNN':
+ if (narrow === eraName) {
+ return eras[i];
+ }
+ break;
+ }
+ } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
+ return eras[i];
+ }
+ }
+ }
+
+ function localeErasConvertYear(era, year) {
+ var dir = era.since <= era.until ? +1 : -1;
+ if (year === undefined) {
+ return hooks(era.since).year();
+ } else {
+ return hooks(era.since).year() + (year - era.offset) * dir;
+ }
+ }
+
+ function getEraName() {
+ var i,
+ l,
+ val,
+ eras = this.localeData().eras();
+ for (i = 0, l = eras.length; i < l; ++i) {
+ // truncate time
+ val = this.startOf('day').valueOf();
+
+ if (eras[i].since <= val && val <= eras[i].until) {
+ return eras[i].name;
+ }
+ if (eras[i].until <= val && val <= eras[i].since) {
+ return eras[i].name;
+ }
+ }
+
+ return '';
+ }
+
+ function getEraNarrow() {
+ var i,
+ l,
+ val,
+ eras = this.localeData().eras();
+ for (i = 0, l = eras.length; i < l; ++i) {
+ // truncate time
+ val = this.startOf('day').valueOf();
+
+ if (eras[i].since <= val && val <= eras[i].until) {
+ return eras[i].narrow;
+ }
+ if (eras[i].until <= val && val <= eras[i].since) {
+ return eras[i].narrow;
+ }
+ }
+
+ return '';
+ }
+
+ function getEraAbbr() {
+ var i,
+ l,
+ val,
+ eras = this.localeData().eras();
+ for (i = 0, l = eras.length; i < l; ++i) {
+ // truncate time
+ val = this.startOf('day').valueOf();
+
+ if (eras[i].since <= val && val <= eras[i].until) {
+ return eras[i].abbr;
+ }
+ if (eras[i].until <= val && val <= eras[i].since) {
+ return eras[i].abbr;
+ }
+ }
+
+ return '';
+ }
+
+ function getEraYear() {
+ var i,
+ l,
+ dir,
+ val,
+ eras = this.localeData().eras();
+ for (i = 0, l = eras.length; i < l; ++i) {
+ dir = eras[i].since <= eras[i].until ? +1 : -1;
+
+ // truncate time
+ val = this.startOf('day').valueOf();
+
+ if (
+ (eras[i].since <= val && val <= eras[i].until) ||
+ (eras[i].until <= val && val <= eras[i].since)
+ ) {
+ return (
+ (this.year() - hooks(eras[i].since).year()) * dir +
+ eras[i].offset
+ );
+ }
+ }
+
+ return this.year();
+ }
+
+ function erasNameRegex(isStrict) {
+ if (!hasOwnProp(this, '_erasNameRegex')) {
+ computeErasParse.call(this);
+ }
+ return isStrict ? this._erasNameRegex : this._erasRegex;
+ }
+
+ function erasAbbrRegex(isStrict) {
+ if (!hasOwnProp(this, '_erasAbbrRegex')) {
+ computeErasParse.call(this);
+ }
+ return isStrict ? this._erasAbbrRegex : this._erasRegex;
+ }
+
+ function erasNarrowRegex(isStrict) {
+ if (!hasOwnProp(this, '_erasNarrowRegex')) {
+ computeErasParse.call(this);
+ }
+ return isStrict ? this._erasNarrowRegex : this._erasRegex;
+ }
+
+ function matchEraAbbr(isStrict, locale) {
+ return locale.erasAbbrRegex(isStrict);
+ }
+
+ function matchEraName(isStrict, locale) {
+ return locale.erasNameRegex(isStrict);
+ }
+
+ function matchEraNarrow(isStrict, locale) {
+ return locale.erasNarrowRegex(isStrict);
+ }
+
+ function matchEraYearOrdinal(isStrict, locale) {
+ return locale._eraYearOrdinalRegex || matchUnsigned;
+ }
+
+ function computeErasParse() {
+ var abbrPieces = [],
+ namePieces = [],
+ narrowPieces = [],
+ mixedPieces = [],
+ i,
+ l,
+ eras = this.eras();
+
+ for (i = 0, l = eras.length; i < l; ++i) {
+ namePieces.push(regexEscape(eras[i].name));
+ abbrPieces.push(regexEscape(eras[i].abbr));
+ narrowPieces.push(regexEscape(eras[i].narrow));
+
+ mixedPieces.push(regexEscape(eras[i].name));
+ mixedPieces.push(regexEscape(eras[i].abbr));
+ mixedPieces.push(regexEscape(eras[i].narrow));
+ }
+
+ this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+ this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');
+ this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');
+ this._erasNarrowRegex = new RegExp(
+ '^(' + narrowPieces.join('|') + ')',
+ 'i'
+ );
+ }
+
+ // FORMATTING
+
+ addFormatToken(0, ['gg', 2], 0, function () {
+ return this.weekYear() % 100;
+ });
+
+ addFormatToken(0, ['GG', 2], 0, function () {
+ return this.isoWeekYear() % 100;
+ });
+
+ function addWeekYearFormatToken(token, getter) {
+ addFormatToken(0, [token, token.length], 0, getter);
+ }
+
+ addWeekYearFormatToken('gggg', 'weekYear');
+ addWeekYearFormatToken('ggggg', 'weekYear');
+ addWeekYearFormatToken('GGGG', 'isoWeekYear');
+ addWeekYearFormatToken('GGGGG', 'isoWeekYear');
+
+ // ALIASES
+
+ addUnitAlias('weekYear', 'gg');
+ addUnitAlias('isoWeekYear', 'GG');
+
+ // PRIORITY
+
+ addUnitPriority('weekYear', 1);
+ addUnitPriority('isoWeekYear', 1);
+
+ // PARSING
+
+ addRegexToken('G', matchSigned);
+ addRegexToken('g', matchSigned);
+ addRegexToken('GG', match1to2, match2);
+ addRegexToken('gg', match1to2, match2);
+ addRegexToken('GGGG', match1to4, match4);
+ addRegexToken('gggg', match1to4, match4);
+ addRegexToken('GGGGG', match1to6, match6);
+ addRegexToken('ggggg', match1to6, match6);
+
+ addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (
+ input,
+ week,
+ config,
+ token
+ ) {
+ week[token.substr(0, 2)] = toInt(input);
+ });
+
+ addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
+ week[token] = hooks.parseTwoDigitYear(input);
+ });
+
+ // MOMENTS
+
+ function getSetWeekYear(input) {
+ return getSetWeekYearHelper.call(
+ this,
+ input,
+ this.week(),
+ this.weekday(),
+ this.localeData()._week.dow,
+ this.localeData()._week.doy
+ );
+ }
+
+ function getSetISOWeekYear(input) {
+ return getSetWeekYearHelper.call(
+ this,
+ input,
+ this.isoWeek(),
+ this.isoWeekday(),
+ 1,
+ 4
+ );
+ }
+
+ function getISOWeeksInYear() {
+ return weeksInYear(this.year(), 1, 4);
+ }
+
+ function getISOWeeksInISOWeekYear() {
+ return weeksInYear(this.isoWeekYear(), 1, 4);
+ }
+
+ function getWeeksInYear() {
+ var weekInfo = this.localeData()._week;
+ return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+ }
+
+ function getWeeksInWeekYear() {
+ var weekInfo = this.localeData()._week;
+ return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
+ }
+
+ function getSetWeekYearHelper(input, week, weekday, dow, doy) {
+ var weeksTarget;
+ if (input == null) {
+ return weekOfYear(this, dow, doy).year;
+ } else {
+ weeksTarget = weeksInYear(input, dow, doy);
+ if (week > weeksTarget) {
+ week = weeksTarget;
+ }
+ return setWeekAll.call(this, input, week, weekday, dow, doy);
+ }
+ }
+
+ function setWeekAll(weekYear, week, weekday, dow, doy) {
+ var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
+ date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
+
+ this.year(date.getUTCFullYear());
+ this.month(date.getUTCMonth());
+ this.date(date.getUTCDate());
+ return this;
+ }
+
+ // FORMATTING
+
+ addFormatToken('Q', 0, 'Qo', 'quarter');
+
+ // ALIASES
+
+ addUnitAlias('quarter', 'Q');
+
+ // PRIORITY
+
+ addUnitPriority('quarter', 7);
+
+ // PARSING
+
+ addRegexToken('Q', match1);
+ addParseToken('Q', function (input, array) {
+ array[MONTH] = (toInt(input) - 1) * 3;
+ });
+
+ // MOMENTS
+
+ function getSetQuarter(input) {
+ return input == null
+ ? Math.ceil((this.month() + 1) / 3)
+ : this.month((input - 1) * 3 + (this.month() % 3));
+ }
+
+ // FORMATTING
+
+ addFormatToken('D', ['DD', 2], 'Do', 'date');
+
+ // ALIASES
+
+ addUnitAlias('date', 'D');
+
+ // PRIORITY
+ addUnitPriority('date', 9);
+
+ // PARSING
+
+ addRegexToken('D', match1to2);
+ addRegexToken('DD', match1to2, match2);
+ addRegexToken('Do', function (isStrict, locale) {
+ // TODO: Remove "ordinalParse" fallback in next major release.
+ return isStrict
+ ? locale._dayOfMonthOrdinalParse || locale._ordinalParse
+ : locale._dayOfMonthOrdinalParseLenient;
+ });
+
+ addParseToken(['D', 'DD'], DATE);
+ addParseToken('Do', function (input, array) {
+ array[DATE] = toInt(input.match(match1to2)[0]);
+ });
+
+ // MOMENTS
+
+ var getSetDayOfMonth = makeGetSet('Date', true);
+
+ // FORMATTING
+
+ addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
+
+ // ALIASES
+
+ addUnitAlias('dayOfYear', 'DDD');
+
+ // PRIORITY
+ addUnitPriority('dayOfYear', 4);
+
+ // PARSING
+
+ addRegexToken('DDD', match1to3);
+ addRegexToken('DDDD', match3);
+ addParseToken(['DDD', 'DDDD'], function (input, array, config) {
+ config._dayOfYear = toInt(input);
+ });
+
+ // HELPERS
+
+ // MOMENTS
+
+ function getSetDayOfYear(input) {
+ var dayOfYear =
+ Math.round(
+ (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5
+ ) + 1;
+ return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
+ }
+
+ // FORMATTING
+
+ addFormatToken('m', ['mm', 2], 0, 'minute');
+
+ // ALIASES
+
+ addUnitAlias('minute', 'm');
+
+ // PRIORITY
+
+ addUnitPriority('minute', 14);
+
+ // PARSING
+
+ addRegexToken('m', match1to2);
+ addRegexToken('mm', match1to2, match2);
+ addParseToken(['m', 'mm'], MINUTE);
+
+ // MOMENTS
+
+ var getSetMinute = makeGetSet('Minutes', false);
+
+ // FORMATTING
+
+ addFormatToken('s', ['ss', 2], 0, 'second');
+
+ // ALIASES
+
+ addUnitAlias('second', 's');
+
+ // PRIORITY
+
+ addUnitPriority('second', 15);
+
+ // PARSING
+
+ addRegexToken('s', match1to2);
+ addRegexToken('ss', match1to2, match2);
+ addParseToken(['s', 'ss'], SECOND);
+
+ // MOMENTS
+
+ var getSetSecond = makeGetSet('Seconds', false);
+
+ // FORMATTING
+
+ addFormatToken('S', 0, 0, function () {
+ return ~~(this.millisecond() / 100);
+ });
+
+ addFormatToken(0, ['SS', 2], 0, function () {
+ return ~~(this.millisecond() / 10);
+ });
+
+ addFormatToken(0, ['SSS', 3], 0, 'millisecond');
+ addFormatToken(0, ['SSSS', 4], 0, function () {
+ return this.millisecond() * 10;
+ });
+ addFormatToken(0, ['SSSSS', 5], 0, function () {
+ return this.millisecond() * 100;
+ });
+ addFormatToken(0, ['SSSSSS', 6], 0, function () {
+ return this.millisecond() * 1000;
+ });
+ addFormatToken(0, ['SSSSSSS', 7], 0, function () {
+ return this.millisecond() * 10000;
+ });
+ addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
+ return this.millisecond() * 100000;
+ });
+ addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
+ return this.millisecond() * 1000000;
+ });
+
+ // ALIASES
+
+ addUnitAlias('millisecond', 'ms');
+
+ // PRIORITY
+
+ addUnitPriority('millisecond', 16);
+
+ // PARSING
+
+ addRegexToken('S', match1to3, match1);
+ addRegexToken('SS', match1to3, match2);
+ addRegexToken('SSS', match1to3, match3);
+
+ var token, getSetMillisecond;
+ for (token = 'SSSS'; token.length <= 9; token += 'S') {
+ addRegexToken(token, matchUnsigned);
+ }
+
+ function parseMs(input, array) {
+ array[MILLISECOND] = toInt(('0.' + input) * 1000);
+ }
+
+ for (token = 'S'; token.length <= 9; token += 'S') {
+ addParseToken(token, parseMs);
+ }
+
+ getSetMillisecond = makeGetSet('Milliseconds', false);
+
+ // FORMATTING
+
+ addFormatToken('z', 0, 0, 'zoneAbbr');
+ addFormatToken('zz', 0, 0, 'zoneName');
+
+ // MOMENTS
+
+ function getZoneAbbr() {
+ return this._isUTC ? 'UTC' : '';
+ }
+
+ function getZoneName() {
+ return this._isUTC ? 'Coordinated Universal Time' : '';
+ }
+
+ var proto = Moment.prototype;
+
+ proto.add = add;
+ proto.calendar = calendar$1;
+ proto.clone = clone;
+ proto.diff = diff;
+ proto.endOf = endOf;
+ proto.format = format;
+ proto.from = from;
+ proto.fromNow = fromNow;
+ proto.to = to;
+ proto.toNow = toNow;
+ proto.get = stringGet;
+ proto.invalidAt = invalidAt;
+ proto.isAfter = isAfter;
+ proto.isBefore = isBefore;
+ proto.isBetween = isBetween;
+ proto.isSame = isSame;
+ proto.isSameOrAfter = isSameOrAfter;
+ proto.isSameOrBefore = isSameOrBefore;
+ proto.isValid = isValid$2;
+ proto.lang = lang;
+ proto.locale = locale;
+ proto.localeData = localeData;
+ proto.max = prototypeMax;
+ proto.min = prototypeMin;
+ proto.parsingFlags = parsingFlags;
+ proto.set = stringSet;
+ proto.startOf = startOf;
+ proto.subtract = subtract;
+ proto.toArray = toArray;
+ proto.toObject = toObject;
+ proto.toDate = toDate;
+ proto.toISOString = toISOString;
+ proto.inspect = inspect;
+ if (typeof Symbol !== 'undefined' && Symbol.for != null) {
+ proto[Symbol.for('nodejs.util.inspect.custom')] = function () {
+ return 'Moment<' + this.format() + '>';
+ };
+ }
+ proto.toJSON = toJSON;
+ proto.toString = toString;
+ proto.unix = unix;
+ proto.valueOf = valueOf;
+ proto.creationData = creationData;
+ proto.eraName = getEraName;
+ proto.eraNarrow = getEraNarrow;
+ proto.eraAbbr = getEraAbbr;
+ proto.eraYear = getEraYear;
+ proto.year = getSetYear;
+ proto.isLeapYear = getIsLeapYear;
+ proto.weekYear = getSetWeekYear;
+ proto.isoWeekYear = getSetISOWeekYear;
+ proto.quarter = proto.quarters = getSetQuarter;
+ proto.month = getSetMonth;
+ proto.daysInMonth = getDaysInMonth;
+ proto.week = proto.weeks = getSetWeek;
+ proto.isoWeek = proto.isoWeeks = getSetISOWeek;
+ proto.weeksInYear = getWeeksInYear;
+ proto.weeksInWeekYear = getWeeksInWeekYear;
+ proto.isoWeeksInYear = getISOWeeksInYear;
+ proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
+ proto.date = getSetDayOfMonth;
+ proto.day = proto.days = getSetDayOfWeek;
+ proto.weekday = getSetLocaleDayOfWeek;
+ proto.isoWeekday = getSetISODayOfWeek;
+ proto.dayOfYear = getSetDayOfYear;
+ proto.hour = proto.hours = getSetHour;
+ proto.minute = proto.minutes = getSetMinute;
+ proto.second = proto.seconds = getSetSecond;
+ proto.millisecond = proto.milliseconds = getSetMillisecond;
+ proto.utcOffset = getSetOffset;
+ proto.utc = setOffsetToUTC;
+ proto.local = setOffsetToLocal;
+ proto.parseZone = setOffsetToParsedOffset;
+ proto.hasAlignedHourOffset = hasAlignedHourOffset;
+ proto.isDST = isDaylightSavingTime;
+ proto.isLocal = isLocal;
+ proto.isUtcOffset = isUtcOffset;
+ proto.isUtc = isUtc;
+ proto.isUTC = isUtc;
+ proto.zoneAbbr = getZoneAbbr;
+ proto.zoneName = getZoneName;
+ proto.dates = deprecate(
+ 'dates accessor is deprecated. Use date instead.',
+ getSetDayOfMonth
+ );
+ proto.months = deprecate(
+ 'months accessor is deprecated. Use month instead',
+ getSetMonth
+ );
+ proto.years = deprecate(
+ 'years accessor is deprecated. Use year instead',
+ getSetYear
+ );
+ proto.zone = deprecate(
+ 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',
+ getSetZone
+ );
+ proto.isDSTShifted = deprecate(
+ 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',
+ isDaylightSavingTimeShifted
+ );
+
+ function createUnix(input) {
+ return createLocal(input * 1000);
+ }
+
+ function createInZone() {
+ return createLocal.apply(null, arguments).parseZone();
+ }
+
+ function preParsePostFormat(string) {
+ return string;
+ }
+
+ var proto$1 = Locale.prototype;
+
+ proto$1.calendar = calendar;
+ proto$1.longDateFormat = longDateFormat;
+ proto$1.invalidDate = invalidDate;
+ proto$1.ordinal = ordinal;
+ proto$1.preparse = preParsePostFormat;
+ proto$1.postformat = preParsePostFormat;
+ proto$1.relativeTime = relativeTime;
+ proto$1.pastFuture = pastFuture;
+ proto$1.set = set;
+ proto$1.eras = localeEras;
+ proto$1.erasParse = localeErasParse;
+ proto$1.erasConvertYear = localeErasConvertYear;
+ proto$1.erasAbbrRegex = erasAbbrRegex;
+ proto$1.erasNameRegex = erasNameRegex;
+ proto$1.erasNarrowRegex = erasNarrowRegex;
+
+ proto$1.months = localeMonths;
+ proto$1.monthsShort = localeMonthsShort;
+ proto$1.monthsParse = localeMonthsParse;
+ proto$1.monthsRegex = monthsRegex;
+ proto$1.monthsShortRegex = monthsShortRegex;
+ proto$1.week = localeWeek;
+ proto$1.firstDayOfYear = localeFirstDayOfYear;
+ proto$1.firstDayOfWeek = localeFirstDayOfWeek;
+
+ proto$1.weekdays = localeWeekdays;
+ proto$1.weekdaysMin = localeWeekdaysMin;
+ proto$1.weekdaysShort = localeWeekdaysShort;
+ proto$1.weekdaysParse = localeWeekdaysParse;
+
+ proto$1.weekdaysRegex = weekdaysRegex;
+ proto$1.weekdaysShortRegex = weekdaysShortRegex;
+ proto$1.weekdaysMinRegex = weekdaysMinRegex;
+
+ proto$1.isPM = localeIsPM;
+ proto$1.meridiem = localeMeridiem;
+
+ function get$1(format, index, field, setter) {
+ var locale = getLocale(),
+ utc = createUTC().set(setter, index);
+ return locale[field](utc, format);
+ }
+
+ function listMonthsImpl(format, index, field) {
+ if (isNumber(format)) {
+ index = format;
+ format = undefined;
+ }
+
+ format = format || '';
+
+ if (index != null) {
+ return get$1(format, index, field, 'month');
+ }
+
+ var i,
+ out = [];
+ for (i = 0; i < 12; i++) {
+ out[i] = get$1(format, i, field, 'month');
+ }
+ return out;
+ }
+
+ // ()
+ // (5)
+ // (fmt, 5)
+ // (fmt)
+ // (true)
+ // (true, 5)
+ // (true, fmt, 5)
+ // (true, fmt)
+ function listWeekdaysImpl(localeSorted, format, index, field) {
+ if (typeof localeSorted === 'boolean') {
+ if (isNumber(format)) {
+ index = format;
+ format = undefined;
+ }
+
+ format = format || '';
+ } else {
+ format = localeSorted;
+ index = format;
+ localeSorted = false;
+
+ if (isNumber(format)) {
+ index = format;
+ format = undefined;
+ }
+
+ format = format || '';
+ }
+
+ var locale = getLocale(),
+ shift = localeSorted ? locale._week.dow : 0,
+ i,
+ out = [];
+
+ if (index != null) {
+ return get$1(format, (index + shift) % 7, field, 'day');
+ }
+
+ for (i = 0; i < 7; i++) {
+ out[i] = get$1(format, (i + shift) % 7, field, 'day');
+ }
+ return out;
+ }
+
+ function listMonths(format, index) {
+ return listMonthsImpl(format, index, 'months');
+ }
+
+ function listMonthsShort(format, index) {
+ return listMonthsImpl(format, index, 'monthsShort');
+ }
+
+ function listWeekdays(localeSorted, format, index) {
+ return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
+ }
+
+ function listWeekdaysShort(localeSorted, format, index) {
+ return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
+ }
+
+ function listWeekdaysMin(localeSorted, format, index) {
+ return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
+ }
+
+ getSetGlobalLocale('en', {
+ eras: [
+ {
+ since: '0001-01-01',
+ until: +Infinity,
+ offset: 1,
+ name: 'Anno Domini',
+ narrow: 'AD',
+ abbr: 'AD',
+ },
+ {
+ since: '0000-12-31',
+ until: -Infinity,
+ offset: 1,
+ name: 'Before Christ',
+ narrow: 'BC',
+ abbr: 'BC',
+ },
+ ],
+ dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ toInt((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ });
+
+ // Side effect imports
+
+ hooks.lang = deprecate(
+ 'moment.lang is deprecated. Use moment.locale instead.',
+ getSetGlobalLocale
+ );
+ hooks.langData = deprecate(
+ 'moment.langData is deprecated. Use moment.localeData instead.',
+ getLocale
+ );
+
+ var mathAbs = Math.abs;
+
+ function abs() {
+ var data = this._data;
+
+ this._milliseconds = mathAbs(this._milliseconds);
+ this._days = mathAbs(this._days);
+ this._months = mathAbs(this._months);
+
+ data.milliseconds = mathAbs(data.milliseconds);
+ data.seconds = mathAbs(data.seconds);
+ data.minutes = mathAbs(data.minutes);
+ data.hours = mathAbs(data.hours);
+ data.months = mathAbs(data.months);
+ data.years = mathAbs(data.years);
+
+ return this;
+ }
+
+ function addSubtract$1(duration, input, value, direction) {
+ var other = createDuration(input, value);
+
+ duration._milliseconds += direction * other._milliseconds;
+ duration._days += direction * other._days;
+ duration._months += direction * other._months;
+
+ return duration._bubble();
+ }
+
+ // supports only 2.0-style add(1, 's') or add(duration)
+ function add$1(input, value) {
+ return addSubtract$1(this, input, value, 1);
+ }
+
+ // supports only 2.0-style subtract(1, 's') or subtract(duration)
+ function subtract$1(input, value) {
+ return addSubtract$1(this, input, value, -1);
+ }
+
+ function absCeil(number) {
+ if (number < 0) {
+ return Math.floor(number);
+ } else {
+ return Math.ceil(number);
+ }
+ }
+
+ function bubble() {
+ var milliseconds = this._milliseconds,
+ days = this._days,
+ months = this._months,
+ data = this._data,
+ seconds,
+ minutes,
+ hours,
+ years,
+ monthsFromDays;
+
+ // if we have a mix of positive and negative values, bubble down first
+ // check: https://github.com/moment/moment/issues/2166
+ if (
+ !(
+ (milliseconds >= 0 && days >= 0 && months >= 0) ||
+ (milliseconds <= 0 && days <= 0 && months <= 0)
+ )
+ ) {
+ milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
+ days = 0;
+ months = 0;
+ }
+
+ // The following code bubbles up values, see the tests for
+ // examples of what that means.
+ data.milliseconds = milliseconds % 1000;
+
+ seconds = absFloor(milliseconds / 1000);
+ data.seconds = seconds % 60;
+
+ minutes = absFloor(seconds / 60);
+ data.minutes = minutes % 60;
+
+ hours = absFloor(minutes / 60);
+ data.hours = hours % 24;
+
+ days += absFloor(hours / 24);
+
+ // convert days to months
+ monthsFromDays = absFloor(daysToMonths(days));
+ months += monthsFromDays;
+ days -= absCeil(monthsToDays(monthsFromDays));
+
+ // 12 months -> 1 year
+ years = absFloor(months / 12);
+ months %= 12;
+
+ data.days = days;
+ data.months = months;
+ data.years = years;
+
+ return this;
+ }
+
+ function daysToMonths(days) {
+ // 400 years have 146097 days (taking into account leap year rules)
+ // 400 years have 12 months === 4800
+ return (days * 4800) / 146097;
+ }
+
+ function monthsToDays(months) {
+ // the reverse of daysToMonths
+ return (months * 146097) / 4800;
+ }
+
+ function as(units) {
+ if (!this.isValid()) {
+ return NaN;
+ }
+ var days,
+ months,
+ milliseconds = this._milliseconds;
+
+ units = normalizeUnits(units);
+
+ if (units === 'month' || units === 'quarter' || units === 'year') {
+ days = this._days + milliseconds / 864e5;
+ months = this._months + daysToMonths(days);
+ switch (units) {
+ case 'month':
+ return months;
+ case 'quarter':
+ return months / 3;
+ case 'year':
+ return months / 12;
+ }
+ } else {
+ // handle milliseconds separately because of floating point math errors (issue #1867)
+ days = this._days + Math.round(monthsToDays(this._months));
+ switch (units) {
+ case 'week':
+ return days / 7 + milliseconds / 6048e5;
+ case 'day':
+ return days + milliseconds / 864e5;
+ case 'hour':
+ return days * 24 + milliseconds / 36e5;
+ case 'minute':
+ return days * 1440 + milliseconds / 6e4;
+ case 'second':
+ return days * 86400 + milliseconds / 1000;
+ // Math.floor prevents floating point math errors here
+ case 'millisecond':
+ return Math.floor(days * 864e5) + milliseconds;
+ default:
+ throw new Error('Unknown unit ' + units);
+ }
+ }
+ }
+
+ // TODO: Use this.as('ms')?
+ function valueOf$1() {
+ if (!this.isValid()) {
+ return NaN;
+ }
+ return (
+ this._milliseconds +
+ this._days * 864e5 +
+ (this._months % 12) * 2592e6 +
+ toInt(this._months / 12) * 31536e6
+ );
+ }
+
+ function makeAs(alias) {
+ return function () {
+ return this.as(alias);
+ };
+ }
+
+ var asMilliseconds = makeAs('ms'),
+ asSeconds = makeAs('s'),
+ asMinutes = makeAs('m'),
+ asHours = makeAs('h'),
+ asDays = makeAs('d'),
+ asWeeks = makeAs('w'),
+ asMonths = makeAs('M'),
+ asQuarters = makeAs('Q'),
+ asYears = makeAs('y');
+
+ function clone$1() {
+ return createDuration(this);
+ }
+
+ function get$2(units) {
+ units = normalizeUnits(units);
+ return this.isValid() ? this[units + 's']() : NaN;
+ }
+
+ function makeGetter(name) {
+ return function () {
+ return this.isValid() ? this._data[name] : NaN;
+ };
+ }
+
+ var milliseconds = makeGetter('milliseconds'),
+ seconds = makeGetter('seconds'),
+ minutes = makeGetter('minutes'),
+ hours = makeGetter('hours'),
+ days = makeGetter('days'),
+ months = makeGetter('months'),
+ years = makeGetter('years');
+
+ function weeks() {
+ return absFloor(this.days() / 7);
+ }
+
+ var round = Math.round,
+ thresholds = {
+ ss: 44, // a few seconds to seconds
+ s: 45, // seconds to minute
+ m: 45, // minutes to hour
+ h: 22, // hours to day
+ d: 26, // days to month/week
+ w: null, // weeks to month
+ M: 11, // months to year
+ };
+
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+ return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+ }
+
+ function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {
+ var duration = createDuration(posNegDuration).abs(),
+ seconds = round(duration.as('s')),
+ minutes = round(duration.as('m')),
+ hours = round(duration.as('h')),
+ days = round(duration.as('d')),
+ months = round(duration.as('M')),
+ weeks = round(duration.as('w')),
+ years = round(duration.as('y')),
+ a =
+ (seconds <= thresholds.ss && ['s', seconds]) ||
+ (seconds < thresholds.s && ['ss', seconds]) ||
+ (minutes <= 1 && ['m']) ||
+ (minutes < thresholds.m && ['mm', minutes]) ||
+ (hours <= 1 && ['h']) ||
+ (hours < thresholds.h && ['hh', hours]) ||
+ (days <= 1 && ['d']) ||
+ (days < thresholds.d && ['dd', days]);
+
+ if (thresholds.w != null) {
+ a =
+ a ||
+ (weeks <= 1 && ['w']) ||
+ (weeks < thresholds.w && ['ww', weeks]);
+ }
+ a = a ||
+ (months <= 1 && ['M']) ||
+ (months < thresholds.M && ['MM', months]) ||
+ (years <= 1 && ['y']) || ['yy', years];
+
+ a[2] = withoutSuffix;
+ a[3] = +posNegDuration > 0;
+ a[4] = locale;
+ return substituteTimeAgo.apply(null, a);
+ }
+
+ // This function allows you to set the rounding function for relative time strings
+ function getSetRelativeTimeRounding(roundingFunction) {
+ if (roundingFunction === undefined) {
+ return round;
+ }
+ if (typeof roundingFunction === 'function') {
+ round = roundingFunction;
+ return true;
+ }
+ return false;
+ }
+
+ // This function allows you to set a threshold for relative time strings
+ function getSetRelativeTimeThreshold(threshold, limit) {
+ if (thresholds[threshold] === undefined) {
+ return false;
+ }
+ if (limit === undefined) {
+ return thresholds[threshold];
+ }
+ thresholds[threshold] = limit;
+ if (threshold === 's') {
+ thresholds.ss = limit - 1;
+ }
+ return true;
+ }
+
+ function humanize(argWithSuffix, argThresholds) {
+ if (!this.isValid()) {
+ return this.localeData().invalidDate();
+ }
+
+ var withSuffix = false,
+ th = thresholds,
+ locale,
+ output;
+
+ if (typeof argWithSuffix === 'object') {
+ argThresholds = argWithSuffix;
+ argWithSuffix = false;
+ }
+ if (typeof argWithSuffix === 'boolean') {
+ withSuffix = argWithSuffix;
+ }
+ if (typeof argThresholds === 'object') {
+ th = Object.assign({}, thresholds, argThresholds);
+ if (argThresholds.s != null && argThresholds.ss == null) {
+ th.ss = argThresholds.s - 1;
+ }
+ }
+
+ locale = this.localeData();
+ output = relativeTime$1(this, !withSuffix, th, locale);
+
+ if (withSuffix) {
+ output = locale.pastFuture(+this, output);
+ }
+
+ return locale.postformat(output);
+ }
+
+ var abs$1 = Math.abs;
+
+ function sign(x) {
+ return (x > 0) - (x < 0) || +x;
+ }
+
+ function toISOString$1() {
+ // for ISO strings we do not use the normal bubbling rules:
+ // * milliseconds bubble up until they become hours
+ // * days do not bubble at all
+ // * months bubble up until they become years
+ // This is because there is no context-free conversion between hours and days
+ // (think of clock changes)
+ // and also not between days and months (28-31 days per month)
+ if (!this.isValid()) {
+ return this.localeData().invalidDate();
+ }
+
+ var seconds = abs$1(this._milliseconds) / 1000,
+ days = abs$1(this._days),
+ months = abs$1(this._months),
+ minutes,
+ hours,
+ years,
+ s,
+ total = this.asSeconds(),
+ totalSign,
+ ymSign,
+ daysSign,
+ hmsSign;
+
+ if (!total) {
+ // this is the same as C#'s (Noda) and python (isodate)...
+ // but not other JS (goog.date)
+ return 'P0D';
+ }
+
+ // 3600 seconds -> 60 minutes -> 1 hour
+ minutes = absFloor(seconds / 60);
+ hours = absFloor(minutes / 60);
+ seconds %= 60;
+ minutes %= 60;
+
+ // 12 months -> 1 year
+ years = absFloor(months / 12);
+ months %= 12;
+
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+ s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
+
+ totalSign = total < 0 ? '-' : '';
+ ymSign = sign(this._months) !== sign(total) ? '-' : '';
+ daysSign = sign(this._days) !== sign(total) ? '-' : '';
+ hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
+
+ return (
+ totalSign +
+ 'P' +
+ (years ? ymSign + years + 'Y' : '') +
+ (months ? ymSign + months + 'M' : '') +
+ (days ? daysSign + days + 'D' : '') +
+ (hours || minutes || seconds ? 'T' : '') +
+ (hours ? hmsSign + hours + 'H' : '') +
+ (minutes ? hmsSign + minutes + 'M' : '') +
+ (seconds ? hmsSign + s + 'S' : '')
+ );
+ }
+
+ var proto$2 = Duration.prototype;
+
+ proto$2.isValid = isValid$1;
+ proto$2.abs = abs;
+ proto$2.add = add$1;
+ proto$2.subtract = subtract$1;
+ proto$2.as = as;
+ proto$2.asMilliseconds = asMilliseconds;
+ proto$2.asSeconds = asSeconds;
+ proto$2.asMinutes = asMinutes;
+ proto$2.asHours = asHours;
+ proto$2.asDays = asDays;
+ proto$2.asWeeks = asWeeks;
+ proto$2.asMonths = asMonths;
+ proto$2.asQuarters = asQuarters;
+ proto$2.asYears = asYears;
+ proto$2.valueOf = valueOf$1;
+ proto$2._bubble = bubble;
+ proto$2.clone = clone$1;
+ proto$2.get = get$2;
+ proto$2.milliseconds = milliseconds;
+ proto$2.seconds = seconds;
+ proto$2.minutes = minutes;
+ proto$2.hours = hours;
+ proto$2.days = days;
+ proto$2.weeks = weeks;
+ proto$2.months = months;
+ proto$2.years = years;
+ proto$2.humanize = humanize;
+ proto$2.toISOString = toISOString$1;
+ proto$2.toString = toISOString$1;
+ proto$2.toJSON = toISOString$1;
+ proto$2.locale = locale;
+ proto$2.localeData = localeData;
+
+ proto$2.toIsoString = deprecate(
+ 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',
+ toISOString$1
+ );
+ proto$2.lang = lang;
+
+ // FORMATTING
+
+ addFormatToken('X', 0, 0, 'unix');
+ addFormatToken('x', 0, 0, 'valueOf');
+
+ // PARSING
+
+ addRegexToken('x', matchSigned);
+ addRegexToken('X', matchTimestamp);
+ addParseToken('X', function (input, array, config) {
+ config._d = new Date(parseFloat(input) * 1000);
+ });
+ addParseToken('x', function (input, array, config) {
+ config._d = new Date(toInt(input));
+ });
+
+ //! moment.js
+
+ hooks.version = '2.25.3';
+
+ setHookCallback(createLocal);
+
+ hooks.fn = proto;
+ hooks.min = min;
+ hooks.max = max;
+ hooks.now = now;
+ hooks.utc = createUTC;
+ hooks.unix = createUnix;
+ hooks.months = listMonths;
+ hooks.isDate = isDate;
+ hooks.locale = getSetGlobalLocale;
+ hooks.invalid = createInvalid;
+ hooks.duration = createDuration;
+ hooks.isMoment = isMoment;
+ hooks.weekdays = listWeekdays;
+ hooks.parseZone = createInZone;
+ hooks.localeData = getLocale;
+ hooks.isDuration = isDuration;
+ hooks.monthsShort = listMonthsShort;
+ hooks.weekdaysMin = listWeekdaysMin;
+ hooks.defineLocale = defineLocale;
+ hooks.updateLocale = updateLocale;
+ hooks.locales = listLocales;
+ hooks.weekdaysShort = listWeekdaysShort;
+ hooks.normalizeUnits = normalizeUnits;
+ hooks.relativeTimeRounding = getSetRelativeTimeRounding;
+ hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
+ hooks.calendarFormat = getCalendarFormat;
+ hooks.prototype = proto;
+
+ // currently HTML5 input type only supports 24-hour formats
+ hooks.HTML5_FMT = {
+ DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', //
+ DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', //
+ DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', //
+ DATE: 'YYYY-MM-DD', //
+ TIME: 'HH:mm', //
+ TIME_SECONDS: 'HH:mm:ss', //
+ TIME_MS: 'HH:mm:ss.SSS', //
+ WEEK: 'GGGG-[W]WW', //
+ MONTH: 'YYYY-MM', //
+ };
+
+ return hooks;
+
+ })));
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(245)(module)))
+
+ /***/ }),
+ /* 5 */
+ /***/ (function(module, exports) {
+
+ // shim for using process in browser
+ var process = module.exports = {};
+
+ // cached from whatever global is present so that test runners that stub it
+ // don't break things. But we need to wrap it in a try catch in case it is
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
+ // function because try/catches deoptimize in certain engines.
+
+ var cachedSetTimeout;
+ var cachedClearTimeout;
+
+ function defaultSetTimout() {
+ throw new Error('setTimeout has not been defined');
+ }
+ function defaultClearTimeout () {
+ throw new Error('clearTimeout has not been defined');
+ }
+ (function () {
+ try {
+ if (typeof setTimeout === 'function') {
+ cachedSetTimeout = setTimeout;
+ } else {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ } catch (e) {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === 'function') {
+ cachedClearTimeout = clearTimeout;
+ } else {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } catch (e) {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } ())
+ function runTimeout(fun) {
+ if (cachedSetTimeout === setTimeout) {
+ //normal enviroments in sane situations
+ return setTimeout(fun, 0);
+ }
+ // if setTimeout wasn't available but was latter defined
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
+ cachedSetTimeout = setTimeout;
+ return setTimeout(fun, 0);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedSetTimeout(fun, 0);
+ } catch(e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedSetTimeout.call(null, fun, 0);
+ } catch(e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+ return cachedSetTimeout.call(this, fun, 0);
+ }
+ }
+
+
+ }
+ function runClearTimeout(marker) {
+ if (cachedClearTimeout === clearTimeout) {
+ //normal enviroments in sane situations
+ return clearTimeout(marker);
+ }
+ // if clearTimeout wasn't available but was latter defined
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
+ cachedClearTimeout = clearTimeout;
+ return clearTimeout(marker);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedClearTimeout(marker);
+ } catch (e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedClearTimeout.call(null, marker);
+ } catch (e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+ return cachedClearTimeout.call(this, marker);
+ }
+ }
+
+
+
+ }
+ var queue = [];
+ var draining = false;
+ var currentQueue;
+ var queueIndex = -1;
+
+ function cleanUpNextTick() {
+ if (!draining || !currentQueue) {
+ return;
+ }
+ draining = false;
+ if (currentQueue.length) {
+ queue = currentQueue.concat(queue);
+ } else {
+ queueIndex = -1;
+ }
+ if (queue.length) {
+ drainQueue();
+ }
+ }
+
+ function drainQueue() {
+ if (draining) {
+ return;
+ }
+ var timeout = runTimeout(cleanUpNextTick);
+ draining = true;
+
+ var len = queue.length;
+ while(len) {
+ currentQueue = queue;
+ queue = [];
+ while (++queueIndex < len) {
+ if (currentQueue) {
+ currentQueue[queueIndex].run();
+ }
+ }
+ queueIndex = -1;
+ len = queue.length;
+ }
+ currentQueue = null;
+ draining = false;
+ runClearTimeout(timeout);
+ }
+
+ process.nextTick = function (fun) {
+ var args = new Array(arguments.length - 1);
+ if (arguments.length > 1) {
+ for (var i = 1; i < arguments.length; i++) {
+ args[i - 1] = arguments[i];
+ }
+ }
+ queue.push(new Item(fun, args));
+ if (queue.length === 1 && !draining) {
+ runTimeout(drainQueue);
+ }
+ };
+
+ // v8 likes predictible objects
+ function Item(fun, array) {
+ this.fun = fun;
+ this.array = array;
+ }
+ Item.prototype.run = function () {
+ this.fun.apply(null, this.array);
+ };
+ process.title = 'browser';
+ process.browser = true;
+ process.env = {};
+ process.argv = [];
+ process.version = ''; // empty string to avoid regexp issues
+ process.versions = {};
+
+ function noop() {}
+
+ process.on = noop;
+ process.addListener = noop;
+ process.once = noop;
+ process.off = noop;
+ process.removeListener = noop;
+ process.removeAllListeners = noop;
+ process.emit = noop;
+ process.prependListener = noop;
+ process.prependOnceListener = noop;
+
+ process.listeners = function (name) { return [] }
+
+ process.binding = function (name) {
+ throw new Error('process.binding is not supported');
+ };
+
+ process.cwd = function () { return '/' };
+ process.chdir = function (dir) {
+ throw new Error('process.chdir is not supported');
+ };
+ process.umask = function() { return 0; };
+
+
+ /***/ }),
+ /* 6 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2014-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+
+
+ /**
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+ var warning = function() {};
+
+ if (process.env.NODE_ENV !== 'production') {
+ warning = function(condition, format, args) {
+ var len = arguments.length;
+ args = new Array(len > 2 ? len - 2 : 0);
+ for (var key = 2; key < len; key++) {
+ args[key - 2] = arguments[key];
+ }
+ if (format === undefined) {
+ throw new Error(
+ '`warning(condition, format, ...args)` requires a warning ' +
+ 'message argument'
+ );
+ }
+
+ if (format.length < 10 || (/^[s\W]*$/).test(format)) {
+ throw new Error(
+ 'The warning format should be able to uniquely identify this ' +
+ 'warning. Please, use a more descriptive format than: ' + format
+ );
+ }
+
+ if (!condition) {
+ var argIndex = 0;
+ var message = 'Warning: ' +
+ format.replace(/%s/g, function() {
+ return args[argIndex++];
+ });
+ if (typeof console !== 'undefined') {
+ console.error(message);
+ }
+ try {
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch(x) {}
+ }
+ };
+ }
+
+ module.exports = warning;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 7 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ exports.default = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ /***/ }),
+ /* 8 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _assign = __webpack_require__(582);
+
+ var _assign2 = _interopRequireDefault(_assign);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = _assign2.default || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ /***/ }),
+ /* 9 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _typeof2 = __webpack_require__(140);
+
+ var _typeof3 = _interopRequireDefault(_typeof2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
+ };
+
+ /***/ }),
+ /* 10 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _setPrototypeOf = __webpack_require__(787);
+
+ var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
+
+ var _create = __webpack_require__(791);
+
+ var _create2 = _interopRequireDefault(_create);
+
+ var _typeof2 = __webpack_require__(140);
+
+ var _typeof3 = _interopRequireDefault(_typeof2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
+ }
+
+ subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ /***/ }),
+ /* 11 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ /**
+ * Module dependencies.
+ */
+
+ try {
+ var index = __webpack_require__(242);
+ } catch (err) {
+ var index = __webpack_require__(242);
+ }
+
+ /**
+ * Whitespace regexp.
+ */
+
+ var re = /\s+/;
+
+ /**
+ * toString reference.
+ */
+
+ var toString = Object.prototype.toString;
+
+ /**
+ * Wrap `el` in a `ClassList`.
+ *
+ * @param {Element} el
+ * @return {ClassList}
+ * @api public
+ */
+
+ module.exports = function(el){
+ return new ClassList(el);
+ };
+
+ /**
+ * Initialize a new ClassList for `el`.
+ *
+ * @param {Element} el
+ * @api private
+ */
+
+ function ClassList(el) {
+ if (!el || !el.nodeType) {
+ throw new Error('A DOM element reference is required');
+ }
+ this.el = el;
+ this.list = el.classList;
+ }
+
+ /**
+ * Add class `name` if not already present.
+ *
+ * @param {String} name
+ * @return {ClassList}
+ * @api public
+ */
+
+ ClassList.prototype.add = function(name){
+ // classList
+ if (this.list) {
+ this.list.add(name);
+ return this;
+ }
+
+ // fallback
+ var arr = this.array();
+ var i = index(arr, name);
+ if (!~i) arr.push(name);
+ this.el.className = arr.join(' ');
+ return this;
+ };
+
+ /**
+ * Remove class `name` when present, or
+ * pass a regular expression to remove
+ * any which match.
+ *
+ * @param {String|RegExp} name
+ * @return {ClassList}
+ * @api public
+ */
+
+ ClassList.prototype.remove = function(name){
+ if ('[object RegExp]' == toString.call(name)) {
+ return this.removeMatching(name);
+ }
+
+ // classList
+ if (this.list) {
+ this.list.remove(name);
+ return this;
+ }
+
+ // fallback
+ var arr = this.array();
+ var i = index(arr, name);
+ if (~i) arr.splice(i, 1);
+ this.el.className = arr.join(' ');
+ return this;
+ };
+
+ /**
+ * Remove all classes matching `re`.
+ *
+ * @param {RegExp} re
+ * @return {ClassList}
+ * @api private
+ */
+
+ ClassList.prototype.removeMatching = function(re){
+ var arr = this.array();
+ for (var i = 0; i < arr.length; i++) {
+ if (re.test(arr[i])) {
+ this.remove(arr[i]);
+ }
+ }
+ return this;
+ };
+
+ /**
+ * Toggle class `name`, can force state via `force`.
+ *
+ * For browsers that support classList, but do not support `force` yet,
+ * the mistake will be detected and corrected.
+ *
+ * @param {String} name
+ * @param {Boolean} force
+ * @return {ClassList}
+ * @api public
+ */
+
+ ClassList.prototype.toggle = function(name, force){
+ // classList
+ if (this.list) {
+ if ("undefined" !== typeof force) {
+ if (force !== this.list.toggle(name, force)) {
+ this.list.toggle(name); // toggle again to correct
+ }
+ } else {
+ this.list.toggle(name);
+ }
+ return this;
+ }
+
+ // fallback
+ if ("undefined" !== typeof force) {
+ if (!force) {
+ this.remove(name);
+ } else {
+ this.add(name);
+ }
+ } else {
+ if (this.has(name)) {
+ this.remove(name);
+ } else {
+ this.add(name);
+ }
+ }
+
+ return this;
+ };
+
+ /**
+ * Return an array of classes.
+ *
+ * @return {Array}
+ * @api public
+ */
+
+ ClassList.prototype.array = function(){
+ var className = this.el.getAttribute('class') || '';
+ var str = className.replace(/^\s+|\s+$/g, '');
+ var arr = str.split(re);
+ if ('' === arr[0]) arr.shift();
+ return arr;
+ };
+
+ /**
+ * Check if class `name` is present.
+ *
+ * @param {String} name
+ * @return {ClassList}
+ * @api public
+ */
+
+ ClassList.prototype.has =
+ ClassList.prototype.contains = function(name){
+ return this.list
+ ? this.list.contains(name)
+ : !! ~index(this.array(), name);
+ };
+
+
+ /***/ }),
+ /* 12 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, '__esModule', {
+ value: true
+ });
+ exports['default'] = addEventListener;
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+ var _EventObject = __webpack_require__(714);
+
+ var _EventObject2 = _interopRequireDefault(_EventObject);
+
+ function addEventListener(target, eventType, callback, option) {
+ function wrapCallback(e) {
+ var ne = new _EventObject2['default'](e);
+ callback.call(target, ne);
+ }
+
+ if (target.addEventListener) {
+ var _ret = (function () {
+ var useCapture = false;
+ if (typeof option === 'object') {
+ useCapture = option.capture || false;
+ } else if (typeof option === 'boolean') {
+ useCapture = option;
+ }
+
+ target.addEventListener(eventType, wrapCallback, option || false);
+
+ return {
+ v: {
+ remove: function remove() {
+ target.removeEventListener(eventType, wrapCallback, useCapture);
+ }
+ }
+ };
+ })();
+
+ if (typeof _ret === 'object') return _ret.v;
+ } else if (target.attachEvent) {
+ target.attachEvent('on' + eventType, wrapCallback);
+ return {
+ remove: function remove() {
+ target.detachEvent('on' + eventType, wrapCallback);
+ }
+ };
+ }
+ }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 13 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "alignElement", function() { return alignElement; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "alignPoint", function() { return alignPoint; });
+ function _typeof(obj) {
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ _typeof = function (obj) {
+ return typeof obj;
+ };
+ } else {
+ _typeof = function (obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ }
+
+ return _typeof(obj);
+ }
+
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ }
+
+ function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+
+ if (Object.getOwnPropertySymbols) {
+ var symbols = Object.getOwnPropertySymbols(object);
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ keys.push.apply(keys, symbols);
+ }
+
+ return keys;
+ }
+
+ function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+
+ if (i % 2) {
+ ownKeys(source, true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(source).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
+
+ return target;
+ }
+
+ var vendorPrefix;
+ var jsCssMap = {
+ Webkit: '-webkit-',
+ Moz: '-moz-',
+ // IE did it wrong again ...
+ ms: '-ms-',
+ O: '-o-'
+ };
+
+ function getVendorPrefix() {
+ if (vendorPrefix !== undefined) {
+ return vendorPrefix;
+ }
+
+ vendorPrefix = '';
+ var style = document.createElement('p').style;
+ var testProp = 'Transform';
+
+ for (var key in jsCssMap) {
+ if (key + testProp in style) {
+ vendorPrefix = key;
+ }
+ }
+
+ return vendorPrefix;
+ }
+
+ function getTransitionName() {
+ return getVendorPrefix() ? "".concat(getVendorPrefix(), "TransitionProperty") : 'transitionProperty';
+ }
+
+ function getTransformName() {
+ return getVendorPrefix() ? "".concat(getVendorPrefix(), "Transform") : 'transform';
+ }
+ function setTransitionProperty(node, value) {
+ var name = getTransitionName();
+
+ if (name) {
+ node.style[name] = value;
+
+ if (name !== 'transitionProperty') {
+ node.style.transitionProperty = value;
+ }
+ }
+ }
+
+ function setTransform(node, value) {
+ var name = getTransformName();
+
+ if (name) {
+ node.style[name] = value;
+
+ if (name !== 'transform') {
+ node.style.transform = value;
+ }
+ }
+ }
+
+ function getTransitionProperty(node) {
+ return node.style.transitionProperty || node.style[getTransitionName()];
+ }
+ function getTransformXY(node) {
+ var style = window.getComputedStyle(node, null);
+ var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
+
+ if (transform && transform !== 'none') {
+ var matrix = transform.replace(/[^0-9\-.,]/g, '').split(',');
+ return {
+ x: parseFloat(matrix[12] || matrix[4], 0),
+ y: parseFloat(matrix[13] || matrix[5], 0)
+ };
+ }
+
+ return {
+ x: 0,
+ y: 0
+ };
+ }
+ var matrix2d = /matrix\((.*)\)/;
+ var matrix3d = /matrix3d\((.*)\)/;
+ function setTransformXY(node, xy) {
+ var style = window.getComputedStyle(node, null);
+ var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
+
+ if (transform && transform !== 'none') {
+ var arr;
+ var match2d = transform.match(matrix2d);
+
+ if (match2d) {
+ match2d = match2d[1];
+ arr = match2d.split(',').map(function (item) {
+ return parseFloat(item, 10);
+ });
+ arr[4] = xy.x;
+ arr[5] = xy.y;
+ setTransform(node, "matrix(".concat(arr.join(','), ")"));
+ } else {
+ var match3d = transform.match(matrix3d)[1];
+ arr = match3d.split(',').map(function (item) {
+ return parseFloat(item, 10);
+ });
+ arr[12] = xy.x;
+ arr[13] = xy.y;
+ setTransform(node, "matrix3d(".concat(arr.join(','), ")"));
+ }
+ } else {
+ setTransform(node, "translateX(".concat(xy.x, "px) translateY(").concat(xy.y, "px) translateZ(0)"));
+ }
+ }
+
+ var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
+ var getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605
+
+ function forceRelayout(elem) {
+ var originalStyle = elem.style.display;
+ elem.style.display = 'none';
+ elem.offsetHeight; // eslint-disable-line
+
+ elem.style.display = originalStyle;
+ }
+
+ function css(el, name, v) {
+ var value = v;
+
+ if (_typeof(name) === 'object') {
+ for (var i in name) {
+ if (name.hasOwnProperty(i)) {
+ css(el, i, name[i]);
+ }
+ }
+
+ return undefined;
+ }
+
+ if (typeof value !== 'undefined') {
+ if (typeof value === 'number') {
+ value = "".concat(value, "px");
+ }
+
+ el.style[name] = value;
+ return undefined;
+ }
+
+ return getComputedStyleX(el, name);
+ }
+
+ function getClientPosition(elem) {
+ var box;
+ var x;
+ var y;
+ var doc = elem.ownerDocument;
+ var body = doc.body;
+ var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
+
+ box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
+ // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
+ // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
+
+ x = box.left;
+ y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left
+ // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
+ // IE6 standards mode, this border can be overridden by setting the
+ // document element's border to zero -- thus, we cannot rely on the
+ // offset always being 2 pixels.
+ // In quirks mode, the offset can be determined by querying the body's
+ // clientLeft/clientTop, but in standards mode, it is found by querying
+ // the document element's clientLeft/clientTop. Since we already called
+ // getClientBoundingRect we have already forced a reflow, so it is not
+ // too expensive just to query them all.
+ // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
+ // 窗口边框标准是设 documentElement ,quirks 时设置 body
+ // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
+ // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
+ // 标准 ie 下 docElem.clientTop 就是 border-top
+ // ie7 html 即窗口边框改变不了。永远为 2
+ // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
+
+ x -= docElem.clientLeft || body.clientLeft || 0;
+ y -= docElem.clientTop || body.clientTop || 0;
+ return {
+ left: x,
+ top: y
+ };
+ }
+
+ function getScroll(w, top) {
+ var ret = w["page".concat(top ? 'Y' : 'X', "Offset")];
+ var method = "scroll".concat(top ? 'Top' : 'Left');
+
+ if (typeof ret !== 'number') {
+ var d = w.document; // ie6,7,8 standard mode
+
+ ret = d.documentElement[method];
+
+ if (typeof ret !== 'number') {
+ // quirks mode
+ ret = d.body[method];
+ }
+ }
+
+ return ret;
+ }
+
+ function getScrollLeft(w) {
+ return getScroll(w);
+ }
+
+ function getScrollTop(w) {
+ return getScroll(w, true);
+ }
+
+ function getOffset(el) {
+ var pos = getClientPosition(el);
+ var doc = el.ownerDocument;
+ var w = doc.defaultView || doc.parentWindow;
+ pos.left += getScrollLeft(w);
+ pos.top += getScrollTop(w);
+ return pos;
+ }
+ /**
+ * A crude way of determining if an object is a window
+ * @member util
+ */
+
+
+ function isWindow(obj) {
+ // must use == for ie8
+
+ /* eslint eqeqeq:0 */
+ return obj !== null && obj !== undefined && obj == obj.window;
+ }
+
+ function getDocument(node) {
+ if (isWindow(node)) {
+ return node.document;
+ }
+
+ if (node.nodeType === 9) {
+ return node;
+ }
+
+ return node.ownerDocument;
+ }
+
+ function _getComputedStyle(elem, name, cs) {
+ var computedStyle = cs;
+ var val = '';
+ var d = getDocument(elem);
+ computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61
+
+ if (computedStyle) {
+ val = computedStyle.getPropertyValue(name) || computedStyle[name];
+ }
+
+ return val;
+ }
+
+ var _RE_NUM_NO_PX = new RegExp("^(".concat(RE_NUM, ")(?!px)[a-z%]+$"), 'i');
+
+ var RE_POS = /^(top|right|bottom|left)$/;
+ var CURRENT_STYLE = 'currentStyle';
+ var RUNTIME_STYLE = 'runtimeStyle';
+ var LEFT = 'left';
+ var PX = 'px';
+
+ function _getComputedStyleIE(elem, name) {
+ // currentStyle maybe null
+ // http://msdn.microsoft.com/en-us/library/ms535231.aspx
+ var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
+ // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
+ // 在 ie 下不对,需要直接用 offset 方式
+ // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
+ // From the awesome hack by Dean Edwards
+ // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+ // If we're not dealing with a regular pixel number
+ // but a number that has a weird ending, we need to convert it to pixels
+ // exclude left right for relativity
+
+ if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
+ // Remember the original values
+ var style = elem.style;
+ var left = style[LEFT];
+ var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content
+
+ elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out
+
+ style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
+ ret = style.pixelLeft + PX; // Revert the changed values
+
+ style[LEFT] = left;
+ elem[RUNTIME_STYLE][LEFT] = rsLeft;
+ }
+
+ return ret === '' ? 'auto' : ret;
+ }
+
+ if (typeof window !== 'undefined') {
+ getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
+ }
+
+ function getOffsetDirection(dir, option) {
+ if (dir === 'left') {
+ return option.useCssRight ? 'right' : dir;
+ }
+
+ return option.useCssBottom ? 'bottom' : dir;
+ }
+
+ function oppositeOffsetDirection(dir) {
+ if (dir === 'left') {
+ return 'right';
+ } else if (dir === 'right') {
+ return 'left';
+ } else if (dir === 'top') {
+ return 'bottom';
+ } else if (dir === 'bottom') {
+ return 'top';
+ }
+ } // 设置 elem 相对 elem.ownerDocument 的坐标
+
+
+ function setLeftTop(elem, offset, option) {
+ // set position first, in-case top/left are set even on static elem
+ if (css(elem, 'position') === 'static') {
+ elem.style.position = 'relative';
+ }
+
+ var presetH = -999;
+ var presetV = -999;
+ var horizontalProperty = getOffsetDirection('left', option);
+ var verticalProperty = getOffsetDirection('top', option);
+ var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);
+ var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);
+
+ if (horizontalProperty !== 'left') {
+ presetH = 999;
+ }
+
+ if (verticalProperty !== 'top') {
+ presetV = 999;
+ }
+
+ var originalTransition = '';
+ var originalOffset = getOffset(elem);
+
+ if ('left' in offset || 'top' in offset) {
+ originalTransition = getTransitionProperty(elem) || '';
+ setTransitionProperty(elem, 'none');
+ }
+
+ if ('left' in offset) {
+ elem.style[oppositeHorizontalProperty] = '';
+ elem.style[horizontalProperty] = "".concat(presetH, "px");
+ }
+
+ if ('top' in offset) {
+ elem.style[oppositeVerticalProperty] = '';
+ elem.style[verticalProperty] = "".concat(presetV, "px");
+ } // force relayout
+
+
+ forceRelayout(elem);
+ var old = getOffset(elem);
+ var originalStyle = {};
+
+ for (var key in offset) {
+ if (offset.hasOwnProperty(key)) {
+ var dir = getOffsetDirection(key, option);
+ var preset = key === 'left' ? presetH : presetV;
+ var off = originalOffset[key] - old[key];
+
+ if (dir === key) {
+ originalStyle[dir] = preset + off;
+ } else {
+ originalStyle[dir] = preset - off;
+ }
+ }
+ }
+
+ css(elem, originalStyle); // force relayout
+
+ forceRelayout(elem);
+
+ if ('left' in offset || 'top' in offset) {
+ setTransitionProperty(elem, originalTransition);
+ }
+
+ var ret = {};
+
+ for (var _key in offset) {
+ if (offset.hasOwnProperty(_key)) {
+ var _dir = getOffsetDirection(_key, option);
+
+ var _off = offset[_key] - originalOffset[_key];
+
+ if (_key === _dir) {
+ ret[_dir] = originalStyle[_dir] + _off;
+ } else {
+ ret[_dir] = originalStyle[_dir] - _off;
+ }
+ }
+ }
+
+ css(elem, ret);
+ }
+
+ function setTransform$1(elem, offset) {
+ var originalOffset = getOffset(elem);
+ var originalXY = getTransformXY(elem);
+ var resultXY = {
+ x: originalXY.x,
+ y: originalXY.y
+ };
+
+ if ('left' in offset) {
+ resultXY.x = originalXY.x + offset.left - originalOffset.left;
+ }
+
+ if ('top' in offset) {
+ resultXY.y = originalXY.y + offset.top - originalOffset.top;
+ }
+
+ setTransformXY(elem, resultXY);
+ }
+
+ function setOffset(elem, offset, option) {
+ if (option.ignoreShake) {
+ var oriOffset = getOffset(elem);
+ var oLeft = oriOffset.left.toFixed(0);
+ var oTop = oriOffset.top.toFixed(0);
+ var tLeft = offset.left.toFixed(0);
+ var tTop = offset.top.toFixed(0);
+
+ if (oLeft === tLeft && oTop === tTop) {
+ return;
+ }
+ }
+
+ if (option.useCssRight || option.useCssBottom) {
+ setLeftTop(elem, offset, option);
+ } else if (option.useCssTransform && getTransformName() in document.body.style) {
+ setTransform$1(elem, offset);
+ } else {
+ setLeftTop(elem, offset, option);
+ }
+ }
+
+ function each(arr, fn) {
+ for (var i = 0; i < arr.length; i++) {
+ fn(arr[i]);
+ }
+ }
+
+ function isBorderBoxFn(elem) {
+ return getComputedStyleX(elem, 'boxSizing') === 'border-box';
+ }
+
+ var BOX_MODELS = ['margin', 'border', 'padding'];
+ var CONTENT_INDEX = -1;
+ var PADDING_INDEX = 2;
+ var BORDER_INDEX = 1;
+ var MARGIN_INDEX = 0;
+
+ function swap(elem, options, callback) {
+ var old = {};
+ var style = elem.style;
+ var name; // Remember the old values, and insert the new ones
+
+ for (name in options) {
+ if (options.hasOwnProperty(name)) {
+ old[name] = style[name];
+ style[name] = options[name];
+ }
+ }
+
+ callback.call(elem); // Revert the old values
+
+ for (name in options) {
+ if (options.hasOwnProperty(name)) {
+ style[name] = old[name];
+ }
+ }
+ }
+
+ function getPBMWidth(elem, props, which) {
+ var value = 0;
+ var prop;
+ var j;
+ var i;
+
+ for (j = 0; j < props.length; j++) {
+ prop = props[j];
+
+ if (prop) {
+ for (i = 0; i < which.length; i++) {
+ var cssProp = void 0;
+
+ if (prop === 'border') {
+ cssProp = "".concat(prop).concat(which[i], "Width");
+ } else {
+ cssProp = prop + which[i];
+ }
+
+ value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
+ }
+ }
+ }
+
+ return value;
+ }
+
+ var domUtils = {
+ getParent: function getParent(element) {
+ var parent = element;
+
+ do {
+ if (parent.nodeType === 11 && parent.host) {
+ parent = parent.host;
+ } else {
+ parent = parent.parentNode;
+ }
+ } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);
+
+ return parent;
+ }
+ };
+ each(['Width', 'Height'], function (name) {
+ domUtils["doc".concat(name)] = function (refWin) {
+ var d = refWin.document;
+ return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight
+ // ie standard mode : documentElement.scrollHeight> body.scrollHeight
+ d.documentElement["scroll".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
+ d.body["scroll".concat(name)], domUtils["viewport".concat(name)](d));
+ };
+
+ domUtils["viewport".concat(name)] = function (win) {
+ // pc browser includes scrollbar in window.innerWidth
+ var prop = "client".concat(name);
+ var doc = win.document;
+ var body = doc.body;
+ var documentElement = doc.documentElement;
+ var documentElementProp = documentElement[prop]; // 标准模式取 documentElement
+ // backcompat 取 body
+
+ return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
+ };
+ });
+ /*
+ 得到元素的大小信息
+ @param elem
+ @param name
+ @param {String} [extra] 'padding' : (css width) + padding
+ 'border' : (css width) + padding + border
+ 'margin' : (css width) + padding + border + margin
+ */
+
+ function getWH(elem, name, ex) {
+ var extra = ex;
+
+ if (isWindow(elem)) {
+ return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
+ } else if (elem.nodeType === 9) {
+ return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
+ }
+
+ var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
+ var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;
+ var computedStyle = getComputedStyleX(elem);
+ var isBorderBox = isBorderBoxFn(elem);
+ var cssBoxValue = 0;
+
+ if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {
+ borderBoxValue = undefined; // Fall back to computed then un computed css if necessary
+
+ cssBoxValue = getComputedStyleX(elem, name);
+
+ if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {
+ cssBoxValue = elem.style[name] || 0;
+ } // Normalize '', auto, and prepare for extra
+
+
+ cssBoxValue = parseFloat(cssBoxValue) || 0;
+ }
+
+ if (extra === undefined) {
+ extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
+ }
+
+ var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
+ var val = borderBoxValue || cssBoxValue;
+
+ if (extra === CONTENT_INDEX) {
+ if (borderBoxValueOrIsBorderBox) {
+ return val - getPBMWidth(elem, ['border', 'padding'], which);
+ }
+
+ return cssBoxValue;
+ } else if (borderBoxValueOrIsBorderBox) {
+ if (extra === BORDER_INDEX) {
+ return val;
+ }
+
+ return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));
+ }
+
+ return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);
+ }
+
+ var cssShow = {
+ position: 'absolute',
+ visibility: 'hidden',
+ display: 'block'
+ }; // fix #119 : https://github.com/kissyteam/kissy/issues/119
+
+ function getWHIgnoreDisplay() {
+ for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ var val;
+ var elem = args[0]; // in case elem is window
+ // elem.offsetWidth === undefined
+
+ if (elem.offsetWidth !== 0) {
+ val = getWH.apply(undefined, args);
+ } else {
+ swap(elem, cssShow, function () {
+ val = getWH.apply(undefined, args);
+ });
+ }
+
+ return val;
+ }
+
+ each(['width', 'height'], function (name) {
+ var first = name.charAt(0).toUpperCase() + name.slice(1);
+
+ domUtils["outer".concat(first)] = function (el, includeMargin) {
+ return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
+ };
+
+ var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
+
+ domUtils[name] = function (elem, v) {
+ var val = v;
+
+ if (val !== undefined) {
+ if (elem) {
+ var computedStyle = getComputedStyleX(elem);
+ var isBorderBox = isBorderBoxFn(elem);
+
+ if (isBorderBox) {
+ val += getPBMWidth(elem, ['padding', 'border'], which);
+ }
+
+ return css(elem, name, val);
+ }
+
+ return undefined;
+ }
+
+ return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
+ };
+ });
+
+ function mix(to, from) {
+ for (var i in from) {
+ if (from.hasOwnProperty(i)) {
+ to[i] = from[i];
+ }
+ }
+
+ return to;
+ }
+
+ var utils = {
+ getWindow: function getWindow(node) {
+ if (node && node.document && node.setTimeout) {
+ return node;
+ }
+
+ var doc = node.ownerDocument || node;
+ return doc.defaultView || doc.parentWindow;
+ },
+ getDocument: getDocument,
+ offset: function offset(el, value, option) {
+ if (typeof value !== 'undefined') {
+ setOffset(el, value, option || {});
+ } else {
+ return getOffset(el);
+ }
+ },
+ isWindow: isWindow,
+ each: each,
+ css: css,
+ clone: function clone(obj) {
+ var i;
+ var ret = {};
+
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ ret[i] = obj[i];
+ }
+ }
+
+ var overflow = obj.overflow;
+
+ if (overflow) {
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ ret.overflow[i] = obj.overflow[i];
+ }
+ }
+ }
+
+ return ret;
+ },
+ mix: mix,
+ getWindowScrollLeft: function getWindowScrollLeft(w) {
+ return getScrollLeft(w);
+ },
+ getWindowScrollTop: function getWindowScrollTop(w) {
+ return getScrollTop(w);
+ },
+ merge: function merge() {
+ var ret = {};
+
+ for (var i = 0; i < arguments.length; i++) {
+ utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);
+ }
+
+ return ret;
+ },
+ viewportWidth: 0,
+ viewportHeight: 0
+ };
+ mix(utils, domUtils);
+
+ /**
+ * 得到会导致元素显示不全的祖先元素
+ */
+
+ var getParent = utils.getParent;
+
+ function getOffsetParent(element) {
+ if (utils.isWindow(element) || element.nodeType === 9) {
+ return null;
+ } // ie 这个也不是完全可行
+
+ /*
+
+
+ 元素 6 高 100px 宽 50px
+
+
+ */
+ // element.offsetParent does the right thing in ie7 and below. Return parent with layout!
+ // In other browsers it only includes elements with position absolute, relative or
+ // fixed, not elements with overflow set to auto or scroll.
+ // if (UA.ie && ieMode < 8) {
+ // return element.offsetParent;
+ // }
+ // 统一的 offsetParent 方法
+
+
+ var doc = utils.getDocument(element);
+ var body = doc.body;
+ var parent;
+ var positionStyle = utils.css(element, 'position');
+ var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';
+
+ if (!skipStatic) {
+ return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);
+ }
+
+ for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {
+ positionStyle = utils.css(parent, 'position');
+
+ if (positionStyle !== 'static') {
+ return parent;
+ }
+ }
+
+ return null;
+ }
+
+ var getParent$1 = utils.getParent;
+ function isAncestorFixed(element) {
+ if (utils.isWindow(element) || element.nodeType === 9) {
+ return false;
+ }
+
+ var doc = utils.getDocument(element);
+ var body = doc.body;
+ var parent = null;
+
+ for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {
+ var positionStyle = utils.css(parent, 'position');
+
+ if (positionStyle === 'fixed') {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * 获得元素的显示部分的区域
+ */
+
+ function getVisibleRectForElement(element, alwaysByViewport) {
+ var visibleRect = {
+ left: 0,
+ right: Infinity,
+ top: 0,
+ bottom: Infinity
+ };
+ var el = getOffsetParent(element);
+ var doc = utils.getDocument(element);
+ var win = doc.defaultView || doc.parentWindow;
+ var body = doc.body;
+ var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for
+ // all scrollable containers.
+
+ while (el) {
+ // clientWidth is zero for inline block elements in ie.
+ if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire
+ // viewport. In some browsers, el.offsetParent may be
+ // document.documentElement, so check for that too.
+ el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {
+ var pos = utils.offset(el); // add border
+
+ pos.left += el.clientLeft;
+ pos.top += el.clientTop;
+ visibleRect.top = Math.max(visibleRect.top, pos.top);
+ visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar
+ pos.left + el.clientWidth);
+ visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);
+ visibleRect.left = Math.max(visibleRect.left, pos.left);
+ } else if (el === body || el === documentElement) {
+ break;
+ }
+
+ el = getOffsetParent(el);
+ } // Set element position to fixed
+ // make sure absolute element itself don't affect it's visible area
+ // https://github.com/ant-design/ant-design/issues/7601
+
+
+ var originalPosition = null;
+
+ if (!utils.isWindow(element) && element.nodeType !== 9) {
+ originalPosition = element.style.position;
+ var position = utils.css(element, 'position');
+
+ if (position === 'absolute') {
+ element.style.position = 'fixed';
+ }
+ }
+
+ var scrollX = utils.getWindowScrollLeft(win);
+ var scrollY = utils.getWindowScrollTop(win);
+ var viewportWidth = utils.viewportWidth(win);
+ var viewportHeight = utils.viewportHeight(win);
+ var documentWidth = documentElement.scrollWidth;
+ var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.
+ // We should cut this ourself.
+
+ var bodyStyle = window.getComputedStyle(body);
+
+ if (bodyStyle.overflowX === 'hidden') {
+ documentWidth = win.innerWidth;
+ }
+
+ if (bodyStyle.overflowY === 'hidden') {
+ documentHeight = win.innerHeight;
+ } // Reset element position after calculate the visible area
+
+
+ if (element.style) {
+ element.style.position = originalPosition;
+ }
+
+ if (alwaysByViewport || isAncestorFixed(element)) {
+ // Clip by viewport's size.
+ visibleRect.left = Math.max(visibleRect.left, scrollX);
+ visibleRect.top = Math.max(visibleRect.top, scrollY);
+ visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);
+ visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);
+ } else {
+ // Clip by document's size.
+ var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);
+ visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);
+ var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);
+ visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);
+ }
+
+ return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
+ }
+
+ function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {
+ var pos = utils.clone(elFuturePos);
+ var size = {
+ width: elRegion.width,
+ height: elRegion.height
+ };
+
+ if (overflow.adjustX && pos.left < visibleRect.left) {
+ pos.left = visibleRect.left;
+ } // Left edge inside and right edge outside viewport, try to resize it.
+
+
+ if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {
+ size.width -= pos.left + size.width - visibleRect.right;
+ } // Right edge outside viewport, try to move it.
+
+
+ if (overflow.adjustX && pos.left + size.width > visibleRect.right) {
+ // 保证左边界和可视区域左边界对齐
+ pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);
+ } // Top edge outside viewport, try to move it.
+
+
+ if (overflow.adjustY && pos.top < visibleRect.top) {
+ pos.top = visibleRect.top;
+ } // Top edge inside and bottom edge outside viewport, try to resize it.
+
+
+ if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {
+ size.height -= pos.top + size.height - visibleRect.bottom;
+ } // Bottom edge outside viewport, try to move it.
+
+
+ if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {
+ // 保证上边界和可视区域上边界对齐
+ pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);
+ }
+
+ return utils.mix(pos, size);
+ }
+
+ function getRegion(node) {
+ var offset;
+ var w;
+ var h;
+
+ if (!utils.isWindow(node) && node.nodeType !== 9) {
+ offset = utils.offset(node);
+ w = utils.outerWidth(node);
+ h = utils.outerHeight(node);
+ } else {
+ var win = utils.getWindow(node);
+ offset = {
+ left: utils.getWindowScrollLeft(win),
+ top: utils.getWindowScrollTop(win)
+ };
+ w = utils.viewportWidth(win);
+ h = utils.viewportHeight(win);
+ }
+
+ offset.width = w;
+ offset.height = h;
+ return offset;
+ }
+
+ /**
+ * 获取 node 上的 align 对齐点 相对于页面的坐标
+ */
+ function getAlignOffset(region, align) {
+ var V = align.charAt(0);
+ var H = align.charAt(1);
+ var w = region.width;
+ var h = region.height;
+ var x = region.left;
+ var y = region.top;
+
+ if (V === 'c') {
+ y += h / 2;
+ } else if (V === 'b') {
+ y += h;
+ }
+
+ if (H === 'c') {
+ x += w / 2;
+ } else if (H === 'r') {
+ x += w;
+ }
+
+ return {
+ left: x,
+ top: y
+ };
+ }
+
+ function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {
+ var p1 = getAlignOffset(refNodeRegion, points[1]);
+ var p2 = getAlignOffset(elRegion, points[0]);
+ var diff = [p2.left - p1.left, p2.top - p1.top];
+ return {
+ left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),
+ top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])
+ };
+ }
+
+ /**
+ * align dom node flexibly
+ * @author yiminghe@gmail.com
+ */
+
+ function isFailX(elFuturePos, elRegion, visibleRect) {
+ return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;
+ }
+
+ function isFailY(elFuturePos, elRegion, visibleRect) {
+ return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;
+ }
+
+ function isCompleteFailX(elFuturePos, elRegion, visibleRect) {
+ return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;
+ }
+
+ function isCompleteFailY(elFuturePos, elRegion, visibleRect) {
+ return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;
+ }
+
+ function flip(points, reg, map) {
+ var ret = [];
+ utils.each(points, function (p) {
+ ret.push(p.replace(reg, function (m) {
+ return map[m];
+ }));
+ });
+ return ret;
+ }
+
+ function flipOffset(offset, index) {
+ offset[index] = -offset[index];
+ return offset;
+ }
+
+ function convertOffset(str, offsetLen) {
+ var n;
+
+ if (/%$/.test(str)) {
+ n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;
+ } else {
+ n = parseInt(str, 10);
+ }
+
+ return n || 0;
+ }
+
+ function normalizeOffset(offset, el) {
+ offset[0] = convertOffset(offset[0], el.width);
+ offset[1] = convertOffset(offset[1], el.height);
+ }
+ /**
+ * @param el
+ * @param tgtRegion 参照节点所占的区域: { left, top, width, height }
+ * @param align
+ */
+
+
+ function doAlign(el, tgtRegion, align, isTgtRegionVisible) {
+ var points = align.points;
+ var offset = align.offset || [0, 0];
+ var targetOffset = align.targetOffset || [0, 0];
+ var overflow = align.overflow;
+ var source = align.source || el;
+ offset = [].concat(offset);
+ targetOffset = [].concat(targetOffset);
+ overflow = overflow || {};
+ var newOverflowCfg = {};
+ var fail = 0;
+ var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域
+
+ var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height
+
+ var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比
+
+ normalizeOffset(offset, elRegion);
+ normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置
+
+ var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域
+
+ var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整
+
+ if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {
+ if (overflow.adjustX) {
+ // 如果横向不能放下
+ if (isFailX(elFuturePos, elRegion, visibleRect)) {
+ // 对齐位置反下
+ var newPoints = flip(points, /[lr]/gi, {
+ l: 'r',
+ r: 'l'
+ }); // 偏移量也反下
+
+ var newOffset = flipOffset(offset, 0);
+ var newTargetOffset = flipOffset(targetOffset, 0);
+ var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);
+
+ if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {
+ fail = 1;
+ points = newPoints;
+ offset = newOffset;
+ targetOffset = newTargetOffset;
+ }
+ }
+ }
+
+ if (overflow.adjustY) {
+ // 如果纵向不能放下
+ if (isFailY(elFuturePos, elRegion, visibleRect)) {
+ // 对齐位置反下
+ var _newPoints = flip(points, /[tb]/gi, {
+ t: 'b',
+ b: 't'
+ }); // 偏移量也反下
+
+
+ var _newOffset = flipOffset(offset, 1);
+
+ var _newTargetOffset = flipOffset(targetOffset, 1);
+
+ var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);
+
+ if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {
+ fail = 1;
+ points = _newPoints;
+ offset = _newOffset;
+ targetOffset = _newTargetOffset;
+ }
+ }
+ } // 如果失败,重新计算当前节点将要被放置的位置
+
+
+ if (fail) {
+ elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);
+ utils.mix(newElRegion, elFuturePos);
+ }
+
+ var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);
+ var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:
+ // 1. 复原修改过的定位参数
+
+ if (isStillFailX || isStillFailY) {
+ points = align.points;
+ offset = align.offset || [0, 0];
+ targetOffset = align.targetOffset || [0, 0];
+ } // 2. 只有指定了可以调整当前方向才调整
+
+
+ newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;
+ newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度
+
+ if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {
+ newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);
+ }
+ } // need judge to in case set fixed with in css on height auto element
+
+
+ if (newElRegion.width !== elRegion.width) {
+ utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);
+ }
+
+ if (newElRegion.height !== elRegion.height) {
+ utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);
+ } // https://github.com/kissyteam/kissy/issues/190
+ // 相对于屏幕位置没变,而 left/top 变了
+ // 例如
+
+
+ utils.offset(source, {
+ left: newElRegion.left,
+ top: newElRegion.top
+ }, {
+ useCssRight: align.useCssRight,
+ useCssBottom: align.useCssBottom,
+ useCssTransform: align.useCssTransform,
+ ignoreShake: align.ignoreShake
+ });
+ return {
+ points: points,
+ offset: offset,
+ targetOffset: targetOffset,
+ overflow: newOverflowCfg
+ };
+ }
+ /**
+ * 2012-04-26 yiminghe@gmail.com
+ * - 优化智能对齐算法
+ * - 慎用 resizeXX
+ *
+ * 2011-07-13 yiminghe@gmail.com note:
+ * - 增加智能对齐,以及大小调整选项
+ **/
+
+ function isOutOfVisibleRect(target, alwaysByViewport) {
+ var visibleRect = getVisibleRectForElement(target, alwaysByViewport);
+ var targetRegion = getRegion(target);
+ return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;
+ }
+
+ function alignElement(el, refNode, align) {
+ var target = align.target || refNode;
+ var refNodeRegion = getRegion(target);
+ var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);
+ return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);
+ }
+
+ alignElement.__getOffsetParent = getOffsetParent;
+ alignElement.__getVisibleRectForElement = getVisibleRectForElement;
+
+ /**
+ * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.
+ * If client position provided, will internal convert to page position.
+ */
+
+ function alignPoint(el, tgtPoint, align) {
+ var pageX;
+ var pageY;
+ var doc = utils.getDocument(el);
+ var win = doc.defaultView || doc.parentWindow;
+ var scrollX = utils.getWindowScrollLeft(win);
+ var scrollY = utils.getWindowScrollTop(win);
+ var viewportWidth = utils.viewportWidth(win);
+ var viewportHeight = utils.viewportHeight(win);
+
+ if ('pageX' in tgtPoint) {
+ pageX = tgtPoint.pageX;
+ } else {
+ pageX = scrollX + tgtPoint.clientX;
+ }
+
+ if ('pageY' in tgtPoint) {
+ pageY = tgtPoint.pageY;
+ } else {
+ pageY = scrollY + tgtPoint.clientY;
+ }
+
+ var tgtRegion = {
+ left: pageX,
+ top: pageY,
+ width: 0,
+ height: 0
+ };
+ var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point
+
+ var points = [align.points[0], 'cc'];
+ return doAlign(el, tgtRegion, _objectSpread2({}, align, {
+ points: points
+ }), pointInView);
+ }
+
+ /* harmony default export */ __webpack_exports__["default"] = (alignElement);
+
+ //# sourceMappingURL=index.js.map
+
+
+ /***/ }),
+ /* 14 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "polyfill", function() { return polyfill; });
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+ function componentWillMount() {
+ // Call this.constructor.gDSFP to support sub-classes.
+ var state = this.constructor.getDerivedStateFromProps(this.props, this.state);
+ if (state !== null && state !== undefined) {
+ this.setState(state);
+ }
+ }
+
+ function componentWillReceiveProps(nextProps) {
+ // Call this.constructor.gDSFP to support sub-classes.
+ // Use the setState() updater to ensure state isn't stale in certain edge cases.
+ function updater(prevState) {
+ var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);
+ return state !== null && state !== undefined ? state : null;
+ }
+ // Binding "this" is important for shallow renderer support.
+ this.setState(updater.bind(this));
+ }
+
+ function componentWillUpdate(nextProps, nextState) {
+ try {
+ var prevProps = this.props;
+ var prevState = this.state;
+ this.props = nextProps;
+ this.state = nextState;
+ this.__reactInternalSnapshotFlag = true;
+ this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(
+ prevProps,
+ prevState
+ );
+ } finally {
+ this.props = prevProps;
+ this.state = prevState;
+ }
+ }
+
+ // React may warn about cWM/cWRP/cWU methods being deprecated.
+ // Add a flag to suppress these warnings for this special case.
+ componentWillMount.__suppressDeprecationWarning = true;
+ componentWillReceiveProps.__suppressDeprecationWarning = true;
+ componentWillUpdate.__suppressDeprecationWarning = true;
+
+ function polyfill(Component) {
+ var prototype = Component.prototype;
+
+ if (!prototype || !prototype.isReactComponent) {
+ throw new Error('Can only polyfill class components');
+ }
+
+ if (
+ typeof Component.getDerivedStateFromProps !== 'function' &&
+ typeof prototype.getSnapshotBeforeUpdate !== 'function'
+ ) {
+ return Component;
+ }
+
+ // If new component APIs are defined, "unsafe" lifecycles won't be called.
+ // Error if any of these lifecycles are present,
+ // Because they would work differently between older and newer (16.3+) versions of React.
+ var foundWillMountName = null;
+ var foundWillReceivePropsName = null;
+ var foundWillUpdateName = null;
+ if (typeof prototype.componentWillMount === 'function') {
+ foundWillMountName = 'componentWillMount';
+ } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {
+ foundWillMountName = 'UNSAFE_componentWillMount';
+ }
+ if (typeof prototype.componentWillReceiveProps === 'function') {
+ foundWillReceivePropsName = 'componentWillReceiveProps';
+ } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {
+ foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
+ }
+ if (typeof prototype.componentWillUpdate === 'function') {
+ foundWillUpdateName = 'componentWillUpdate';
+ } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {
+ foundWillUpdateName = 'UNSAFE_componentWillUpdate';
+ }
+ if (
+ foundWillMountName !== null ||
+ foundWillReceivePropsName !== null ||
+ foundWillUpdateName !== null
+ ) {
+ var componentName = Component.displayName || Component.name;
+ var newApiName =
+ typeof Component.getDerivedStateFromProps === 'function'
+ ? 'getDerivedStateFromProps()'
+ : 'getSnapshotBeforeUpdate()';
+
+ throw Error(
+ 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' +
+ componentName +
+ ' uses ' +
+ newApiName +
+ ' but also contains the following legacy lifecycles:' +
+ (foundWillMountName !== null ? '\n ' + foundWillMountName : '') +
+ (foundWillReceivePropsName !== null
+ ? '\n ' + foundWillReceivePropsName
+ : '') +
+ (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') +
+ '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' +
+ 'https://fb.me/react-async-component-lifecycle-hooks'
+ );
+ }
+
+ // React <= 16.2 does not support static getDerivedStateFromProps.
+ // As a workaround, use cWM and cWRP to invoke the new static lifecycle.
+ // Newer versions of React will ignore these lifecycles if gDSFP exists.
+ if (typeof Component.getDerivedStateFromProps === 'function') {
+ prototype.componentWillMount = componentWillMount;
+ prototype.componentWillReceiveProps = componentWillReceiveProps;
+ }
+
+ // React <= 16.2 does not support getSnapshotBeforeUpdate.
+ // As a workaround, use cWU to invoke the new lifecycle.
+ // Newer versions of React will ignore that lifecycle if gSBU exists.
+ if (typeof prototype.getSnapshotBeforeUpdate === 'function') {
+ if (typeof prototype.componentDidUpdate !== 'function') {
+ throw new Error(
+ 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'
+ );
+ }
+
+ prototype.componentWillUpdate = componentWillUpdate;
+
+ var componentDidUpdate = prototype.componentDidUpdate;
+
+ prototype.componentDidUpdate = function componentDidUpdatePolyfill(
+ prevProps,
+ prevState,
+ maybeSnapshot
+ ) {
+ // 16.3+ will not execute our will-update method;
+ // It will pass a snapshot value to did-update though.
+ // Older versions will require our polyfilled will-update value.
+ // We need to handle both cases, but can't just check for the presence of "maybeSnapshot",
+ // Because for <= 15.x versions this might be a "prevContext" object.
+ // We also can't just check "__reactInternalSnapshot",
+ // Because get-snapshot might return a falsy value.
+ // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.
+ var snapshot = this.__reactInternalSnapshotFlag
+ ? this.__reactInternalSnapshot
+ : maybeSnapshot;
+
+ componentDidUpdate.call(this, prevProps, prevState, snapshot);
+ };
+ }
+
+ return Component;
+ }
+
+
+
+
+ /***/ }),
+ /* 15 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Icon = __webpack_require__(554);
+
+ var _Icon2 = _interopRequireDefault(_Icon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Icon2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 16 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+ exports.convertFieldsError = convertFieldsError;
+ exports.format = format;
+ exports.isEmptyValue = isEmptyValue;
+ exports.isEmptyObject = isEmptyObject;
+ exports.asyncMap = asyncMap;
+ exports.complementError = complementError;
+ exports.deepMerge = deepMerge;
+ /* eslint no-console:0 */
+
+ var formatRegExp = /%[sdj%]/g;
+
+ var warning = exports.warning = function warning() {};
+
+ // don't print warning message when in production env or node runtime
+ if (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {
+ exports.warning = warning = function warning(type, errors) {
+ if (typeof console !== 'undefined' && console.warn) {
+ if (errors.every(function (e) {
+ return typeof e === 'string';
+ })) {
+ console.warn(type, errors);
+ }
+ }
+ };
+ }
+
+ function convertFieldsError(errors) {
+ if (!errors || !errors.length) return null;
+ var fields = {};
+ errors.forEach(function (error) {
+ var field = error.field;
+ fields[field] = fields[field] || [];
+ fields[field].push(error);
+ });
+ return fields;
+ }
+
+ function format() {
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ var i = 1;
+ var f = args[0];
+ var len = args.length;
+ if (typeof f === 'function') {
+ return f.apply(null, args.slice(1));
+ }
+ if (typeof f === 'string') {
+ var str = String(f).replace(formatRegExp, function (x) {
+ if (x === '%%') {
+ return '%';
+ }
+ if (i >= len) {
+ return x;
+ }
+ switch (x) {
+ case '%s':
+ return String(args[i++]);
+ case '%d':
+ return Number(args[i++]);
+ case '%j':
+ try {
+ return JSON.stringify(args[i++]);
+ } catch (_) {
+ return '[Circular]';
+ }
+ break;
+ default:
+ return x;
+ }
+ });
+ for (var arg = args[i]; i < len; arg = args[++i]) {
+ str += ' ' + arg;
+ }
+ return str;
+ }
+ return f;
+ }
+
+ function isNativeStringType(type) {
+ return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
+ }
+
+ function isEmptyValue(value, type) {
+ if (value === undefined || value === null) {
+ return true;
+ }
+ if (type === 'array' && Array.isArray(value) && !value.length) {
+ return true;
+ }
+ if (isNativeStringType(type) && typeof value === 'string' && !value) {
+ return true;
+ }
+ return false;
+ }
+
+ function isEmptyObject(obj) {
+ return Object.keys(obj).length === 0;
+ }
+
+ function asyncParallelArray(arr, func, callback) {
+ var results = [];
+ var total = 0;
+ var arrLength = arr.length;
+
+ function count(errors) {
+ results.push.apply(results, errors);
+ total++;
+ if (total === arrLength) {
+ callback(results);
+ }
+ }
+
+ arr.forEach(function (a) {
+ func(a, count);
+ });
+ }
+
+ function asyncSerialArray(arr, func, callback) {
+ var index = 0;
+ var arrLength = arr.length;
+
+ function next(errors) {
+ if (errors && errors.length) {
+ callback(errors);
+ return;
+ }
+ var original = index;
+ index = index + 1;
+ if (original < arrLength) {
+ func(arr[original], next);
+ } else {
+ callback([]);
+ }
+ }
+
+ next([]);
+ }
+
+ function flattenObjArr(objArr) {
+ var ret = [];
+ Object.keys(objArr).forEach(function (k) {
+ ret.push.apply(ret, objArr[k]);
+ });
+ return ret;
+ }
+
+ function asyncMap(objArr, option, func, callback) {
+ if (option.first) {
+ var flattenArr = flattenObjArr(objArr);
+ return asyncSerialArray(flattenArr, func, callback);
+ }
+ var firstFields = option.firstFields || [];
+ if (firstFields === true) {
+ firstFields = Object.keys(objArr);
+ }
+ var objArrKeys = Object.keys(objArr);
+ var objArrLength = objArrKeys.length;
+ var total = 0;
+ var results = [];
+ var pending = new Promise(function (resolve, reject) {
+ var next = function next(errors) {
+ results.push.apply(results, errors);
+ total++;
+ if (total === objArrLength) {
+ callback(results);
+ return results.length ? reject({ errors: results, fields: convertFieldsError(results) }) : resolve();
+ }
+ };
+ objArrKeys.forEach(function (key) {
+ var arr = objArr[key];
+ if (firstFields.indexOf(key) !== -1) {
+ asyncSerialArray(arr, func, next);
+ } else {
+ asyncParallelArray(arr, func, next);
+ }
+ });
+ });
+ pending['catch'](function (e) {
+ return e;
+ });
+ return pending;
+ }
+
+ function complementError(rule) {
+ return function (oe) {
+ if (oe && oe.message) {
+ oe.field = oe.field || rule.fullField;
+ return oe;
+ }
+ return {
+ message: typeof oe === 'function' ? oe() : oe,
+ field: oe.field || rule.fullField
+ };
+ };
+ }
+
+ function deepMerge(target, source) {
+ if (source) {
+ for (var s in source) {
+ if (source.hasOwnProperty(s)) {
+ var value = source[s];
+ if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(target[s]) === 'object') {
+ target[s] = _extends({}, target[s], value);
+ } else {
+ target[s] = value;
+ }
+ }
+ }
+ }
+ return target;
+ }
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 17 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var on = function on() {};
+ if (_inDOM2.default) {
+ on = function () {
+
+ if (document.addEventListener) return function (node, eventName, handler, capture) {
+ return node.addEventListener(eventName, handler, capture || false);
+ };else if (document.attachEvent) return function (node, eventName, handler) {
+ return node.attachEvent('on' + eventName, handler);
+ };
+ }();
+ }
+
+ exports.default = on;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 18 */
+ /***/ (function(module, exports) {
+
+ function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {
+ "default": obj
+ };
+ }
+
+ module.exports = _interopRequireDefault;
+
+ /***/ }),
+ /* 19 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _required = __webpack_require__(225);
+
+ var _required2 = _interopRequireDefault(_required);
+
+ var _whitespace = __webpack_require__(610);
+
+ var _whitespace2 = _interopRequireDefault(_whitespace);
+
+ var _type = __webpack_require__(611);
+
+ var _type2 = _interopRequireDefault(_type);
+
+ var _range = __webpack_require__(612);
+
+ var _range2 = _interopRequireDefault(_range);
+
+ var _enum = __webpack_require__(613);
+
+ var _enum2 = _interopRequireDefault(_enum);
+
+ var _pattern = __webpack_require__(614);
+
+ var _pattern2 = _interopRequireDefault(_pattern);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+ exports['default'] = {
+ required: _required2['default'],
+ whitespace: _whitespace2['default'],
+ type: _type2['default'],
+ range: _range2['default'],
+ 'enum': _enum2['default'],
+ pattern: _pattern2['default']
+ };
+
+ /***/ }),
+ /* 20 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(global, module) {/**
+ * Lodash (Custom Build)
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright JS Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+
+ /** Used as the size to enable large array optimizations. */
+ var LARGE_ARRAY_SIZE = 200;
+
+ /** Used to stand-in for `undefined` hash values. */
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG = 1,
+ COMPARE_UNORDERED_FLAG = 2;
+
+ /** Used as references for various `Number` constants. */
+ var MAX_SAFE_INTEGER = 9007199254740991;
+
+ /** `Object#toString` result references. */
+ var argsTag = '[object Arguments]',
+ arrayTag = '[object Array]',
+ asyncTag = '[object AsyncFunction]',
+ boolTag = '[object Boolean]',
+ dateTag = '[object Date]',
+ errorTag = '[object Error]',
+ funcTag = '[object Function]',
+ genTag = '[object GeneratorFunction]',
+ mapTag = '[object Map]',
+ numberTag = '[object Number]',
+ nullTag = '[object Null]',
+ objectTag = '[object Object]',
+ promiseTag = '[object Promise]',
+ proxyTag = '[object Proxy]',
+ regexpTag = '[object RegExp]',
+ setTag = '[object Set]',
+ stringTag = '[object String]',
+ symbolTag = '[object Symbol]',
+ undefinedTag = '[object Undefined]',
+ weakMapTag = '[object WeakMap]';
+
+ var arrayBufferTag = '[object ArrayBuffer]',
+ dataViewTag = '[object DataView]',
+ float32Tag = '[object Float32Array]',
+ float64Tag = '[object Float64Array]',
+ int8Tag = '[object Int8Array]',
+ int16Tag = '[object Int16Array]',
+ int32Tag = '[object Int32Array]',
+ uint8Tag = '[object Uint8Array]',
+ uint8ClampedTag = '[object Uint8ClampedArray]',
+ uint16Tag = '[object Uint16Array]',
+ uint32Tag = '[object Uint32Array]';
+
+ /**
+ * Used to match `RegExp`
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
+ */
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+
+ /** Used to detect host constructors (Safari). */
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
+
+ /** Used to detect unsigned integer values. */
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
+
+ /** Used to identify `toStringTag` values of typed arrays. */
+ var typedArrayTags = {};
+ typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
+ typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
+ typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
+ typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
+ typedArrayTags[uint32Tag] = true;
+ typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
+ typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
+ typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
+ typedArrayTags[errorTag] = typedArrayTags[funcTag] =
+ typedArrayTags[mapTag] = typedArrayTags[numberTag] =
+ typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
+ typedArrayTags[setTag] = typedArrayTags[stringTag] =
+ typedArrayTags[weakMapTag] = false;
+
+ /** Detect free variable `global` from Node.js. */
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
+
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+ /** Used as a reference to the global object. */
+ var root = freeGlobal || freeSelf || Function('return this')();
+
+ /** Detect free variable `exports`. */
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
+
+ /** Detect free variable `module`. */
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
+
+ /** Detect the popular CommonJS extension `module.exports`. */
+ var moduleExports = freeModule && freeModule.exports === freeExports;
+
+ /** Detect free variable `process` from Node.js. */
+ var freeProcess = moduleExports && freeGlobal.process;
+
+ /** Used to access faster Node.js helpers. */
+ var nodeUtil = (function() {
+ try {
+ return freeProcess && freeProcess.binding && freeProcess.binding('util');
+ } catch (e) {}
+ }());
+
+ /* Node.js helper references. */
+ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+
+ /**
+ * A specialized version of `_.filter` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */
+ function arrayFilter(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length,
+ resIndex = 0,
+ result = [];
+
+ while (++index < length) {
+ var value = array[index];
+ if (predicate(value, index, array)) {
+ result[resIndex++] = value;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */
+ function arrayPush(array, values) {
+ var index = -1,
+ length = values.length,
+ offset = array.length;
+
+ while (++index < length) {
+ array[offset + index] = values[index];
+ }
+ return array;
+ }
+
+ /**
+ * A specialized version of `_.some` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */
+ function arraySome(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
+
+ while (++index < length) {
+ if (predicate(array[index], index, array)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * The base implementation of `_.times` without support for iteratee shorthands
+ * or max array length checks.
+ *
+ * @private
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the array of results.
+ */
+ function baseTimes(n, iteratee) {
+ var index = -1,
+ result = Array(n);
+
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+ }
+
+ /**
+ * The base implementation of `_.unary` without support for storing metadata.
+ *
+ * @private
+ * @param {Function} func The function to cap arguments for.
+ * @returns {Function} Returns the new capped function.
+ */
+ function baseUnary(func) {
+ return function(value) {
+ return func(value);
+ };
+ }
+
+ /**
+ * Checks if a `cache` value for `key` exists.
+ *
+ * @private
+ * @param {Object} cache The cache to query.
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function cacheHas(cache, key) {
+ return cache.has(key);
+ }
+
+ /**
+ * Gets the value at `key` of `object`.
+ *
+ * @private
+ * @param {Object} [object] The object to query.
+ * @param {string} key The key of the property to get.
+ * @returns {*} Returns the property value.
+ */
+ function getValue(object, key) {
+ return object == null ? undefined : object[key];
+ }
+
+ /**
+ * Converts `map` to its key-value pairs.
+ *
+ * @private
+ * @param {Object} map The map to convert.
+ * @returns {Array} Returns the key-value pairs.
+ */
+ function mapToArray(map) {
+ var index = -1,
+ result = Array(map.size);
+
+ map.forEach(function(value, key) {
+ result[++index] = [key, value];
+ });
+ return result;
+ }
+
+ /**
+ * Creates a unary function that invokes `func` with its argument transformed.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {Function} transform The argument transform.
+ * @returns {Function} Returns the new function.
+ */
+ function overArg(func, transform) {
+ return function(arg) {
+ return func(transform(arg));
+ };
+ }
+
+ /**
+ * Converts `set` to an array of its values.
+ *
+ * @private
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the values.
+ */
+ function setToArray(set) {
+ var index = -1,
+ result = Array(set.size);
+
+ set.forEach(function(value) {
+ result[++index] = value;
+ });
+ return result;
+ }
+
+ /** Used for built-in method references. */
+ var arrayProto = Array.prototype,
+ funcProto = Function.prototype,
+ objectProto = Object.prototype;
+
+ /** Used to detect overreaching core-js shims. */
+ var coreJsData = root['__core-js_shared__'];
+
+ /** Used to resolve the decompiled source of functions. */
+ var funcToString = funcProto.toString;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty = objectProto.hasOwnProperty;
+
+ /** Used to detect methods masquerading as native. */
+ var maskSrcKey = (function() {
+ var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
+ return uid ? ('Symbol(src)_1.' + uid) : '';
+ }());
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var nativeObjectToString = objectProto.toString;
+
+ /** Used to detect if a method is native. */
+ var reIsNative = RegExp('^' +
+ funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+ );
+
+ /** Built-in value references. */
+ var Buffer = moduleExports ? root.Buffer : undefined,
+ Symbol = root.Symbol,
+ Uint8Array = root.Uint8Array,
+ propertyIsEnumerable = objectProto.propertyIsEnumerable,
+ splice = arrayProto.splice,
+ symToStringTag = Symbol ? Symbol.toStringTag : undefined;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeGetSymbols = Object.getOwnPropertySymbols,
+ nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
+ nativeKeys = overArg(Object.keys, Object);
+
+ /* Built-in method references that are verified to be native. */
+ var DataView = getNative(root, 'DataView'),
+ Map = getNative(root, 'Map'),
+ Promise = getNative(root, 'Promise'),
+ Set = getNative(root, 'Set'),
+ WeakMap = getNative(root, 'WeakMap'),
+ nativeCreate = getNative(Object, 'create');
+
+ /** Used to detect maps, sets, and weakmaps. */
+ var dataViewCtorString = toSource(DataView),
+ mapCtorString = toSource(Map),
+ promiseCtorString = toSource(Promise),
+ setCtorString = toSource(Set),
+ weakMapCtorString = toSource(WeakMap);
+
+ /** Used to convert symbols to primitives and strings. */
+ var symbolProto = Symbol ? Symbol.prototype : undefined,
+ symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
+
+ /**
+ * Creates a hash object.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Hash(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
+
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
+
+ /**
+ * Removes all key-value entries from the hash.
+ *
+ * @private
+ * @name clear
+ * @memberOf Hash
+ */
+ function hashClear() {
+ this.__data__ = nativeCreate ? nativeCreate(null) : {};
+ this.size = 0;
+ }
+
+ /**
+ * Removes `key` and its value from the hash.
+ *
+ * @private
+ * @name delete
+ * @memberOf Hash
+ * @param {Object} hash The hash to modify.
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function hashDelete(key) {
+ var result = this.has(key) && delete this.__data__[key];
+ this.size -= result ? 1 : 0;
+ return result;
+ }
+
+ /**
+ * Gets the hash value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Hash
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function hashGet(key) {
+ var data = this.__data__;
+ if (nativeCreate) {
+ var result = data[key];
+ return result === HASH_UNDEFINED ? undefined : result;
+ }
+ return hasOwnProperty.call(data, key) ? data[key] : undefined;
+ }
+
+ /**
+ * Checks if a hash value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Hash
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function hashHas(key) {
+ var data = this.__data__;
+ return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
+ }
+
+ /**
+ * Sets the hash `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Hash
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the hash instance.
+ */
+ function hashSet(key, value) {
+ var data = this.__data__;
+ this.size += this.has(key) ? 0 : 1;
+ data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
+ return this;
+ }
+
+ // Add methods to `Hash`.
+ Hash.prototype.clear = hashClear;
+ Hash.prototype['delete'] = hashDelete;
+ Hash.prototype.get = hashGet;
+ Hash.prototype.has = hashHas;
+ Hash.prototype.set = hashSet;
+
+ /**
+ * Creates an list cache object.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function ListCache(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
+
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
+
+ /**
+ * Removes all key-value entries from the list cache.
+ *
+ * @private
+ * @name clear
+ * @memberOf ListCache
+ */
+ function listCacheClear() {
+ this.__data__ = [];
+ this.size = 0;
+ }
+
+ /**
+ * Removes `key` and its value from the list cache.
+ *
+ * @private
+ * @name delete
+ * @memberOf ListCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function listCacheDelete(key) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
+
+ if (index < 0) {
+ return false;
+ }
+ var lastIndex = data.length - 1;
+ if (index == lastIndex) {
+ data.pop();
+ } else {
+ splice.call(data, index, 1);
+ }
+ --this.size;
+ return true;
+ }
+
+ /**
+ * Gets the list cache value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf ListCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function listCacheGet(key) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
+
+ return index < 0 ? undefined : data[index][1];
+ }
+
+ /**
+ * Checks if a list cache value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf ListCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function listCacheHas(key) {
+ return assocIndexOf(this.__data__, key) > -1;
+ }
+
+ /**
+ * Sets the list cache `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf ListCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the list cache instance.
+ */
+ function listCacheSet(key, value) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
+
+ if (index < 0) {
+ ++this.size;
+ data.push([key, value]);
+ } else {
+ data[index][1] = value;
+ }
+ return this;
+ }
+
+ // Add methods to `ListCache`.
+ ListCache.prototype.clear = listCacheClear;
+ ListCache.prototype['delete'] = listCacheDelete;
+ ListCache.prototype.get = listCacheGet;
+ ListCache.prototype.has = listCacheHas;
+ ListCache.prototype.set = listCacheSet;
+
+ /**
+ * Creates a map cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function MapCache(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
+
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
+
+ /**
+ * Removes all key-value entries from the map.
+ *
+ * @private
+ * @name clear
+ * @memberOf MapCache
+ */
+ function mapCacheClear() {
+ this.size = 0;
+ this.__data__ = {
+ 'hash': new Hash,
+ 'map': new (Map || ListCache),
+ 'string': new Hash
+ };
+ }
+
+ /**
+ * Removes `key` and its value from the map.
+ *
+ * @private
+ * @name delete
+ * @memberOf MapCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function mapCacheDelete(key) {
+ var result = getMapData(this, key)['delete'](key);
+ this.size -= result ? 1 : 0;
+ return result;
+ }
+
+ /**
+ * Gets the map value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf MapCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function mapCacheGet(key) {
+ return getMapData(this, key).get(key);
+ }
+
+ /**
+ * Checks if a map value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf MapCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function mapCacheHas(key) {
+ return getMapData(this, key).has(key);
+ }
+
+ /**
+ * Sets the map `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf MapCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the map cache instance.
+ */
+ function mapCacheSet(key, value) {
+ var data = getMapData(this, key),
+ size = data.size;
+
+ data.set(key, value);
+ this.size += data.size == size ? 0 : 1;
+ return this;
+ }
+
+ // Add methods to `MapCache`.
+ MapCache.prototype.clear = mapCacheClear;
+ MapCache.prototype['delete'] = mapCacheDelete;
+ MapCache.prototype.get = mapCacheGet;
+ MapCache.prototype.has = mapCacheHas;
+ MapCache.prototype.set = mapCacheSet;
+
+ /**
+ *
+ * Creates an array cache object to store unique values.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [values] The values to cache.
+ */
+ function SetCache(values) {
+ var index = -1,
+ length = values == null ? 0 : values.length;
+
+ this.__data__ = new MapCache;
+ while (++index < length) {
+ this.add(values[index]);
+ }
+ }
+
+ /**
+ * Adds `value` to the array cache.
+ *
+ * @private
+ * @name add
+ * @memberOf SetCache
+ * @alias push
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache instance.
+ */
+ function setCacheAdd(value) {
+ this.__data__.set(value, HASH_UNDEFINED);
+ return this;
+ }
+
+ /**
+ * Checks if `value` is in the array cache.
+ *
+ * @private
+ * @name has
+ * @memberOf SetCache
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `true` if `value` is found, else `false`.
+ */
+ function setCacheHas(value) {
+ return this.__data__.has(value);
+ }
+
+ // Add methods to `SetCache`.
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+ SetCache.prototype.has = setCacheHas;
+
+ /**
+ * Creates a stack cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Stack(entries) {
+ var data = this.__data__ = new ListCache(entries);
+ this.size = data.size;
+ }
+
+ /**
+ * Removes all key-value entries from the stack.
+ *
+ * @private
+ * @name clear
+ * @memberOf Stack
+ */
+ function stackClear() {
+ this.__data__ = new ListCache;
+ this.size = 0;
+ }
+
+ /**
+ * Removes `key` and its value from the stack.
+ *
+ * @private
+ * @name delete
+ * @memberOf Stack
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function stackDelete(key) {
+ var data = this.__data__,
+ result = data['delete'](key);
+
+ this.size = data.size;
+ return result;
+ }
+
+ /**
+ * Gets the stack value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Stack
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function stackGet(key) {
+ return this.__data__.get(key);
+ }
+
+ /**
+ * Checks if a stack value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Stack
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function stackHas(key) {
+ return this.__data__.has(key);
+ }
+
+ /**
+ * Sets the stack `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Stack
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the stack cache instance.
+ */
+ function stackSet(key, value) {
+ var data = this.__data__;
+ if (data instanceof ListCache) {
+ var pairs = data.__data__;
+ if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
+ pairs.push([key, value]);
+ this.size = ++data.size;
+ return this;
+ }
+ data = this.__data__ = new MapCache(pairs);
+ }
+ data.set(key, value);
+ this.size = data.size;
+ return this;
+ }
+
+ // Add methods to `Stack`.
+ Stack.prototype.clear = stackClear;
+ Stack.prototype['delete'] = stackDelete;
+ Stack.prototype.get = stackGet;
+ Stack.prototype.has = stackHas;
+ Stack.prototype.set = stackSet;
+
+ /**
+ * Creates an array of the enumerable property names of the array-like `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @param {boolean} inherited Specify returning inherited property names.
+ * @returns {Array} Returns the array of property names.
+ */
+ function arrayLikeKeys(value, inherited) {
+ var isArr = isArray(value),
+ isArg = !isArr && isArguments(value),
+ isBuff = !isArr && !isArg && isBuffer(value),
+ isType = !isArr && !isArg && !isBuff && isTypedArray(value),
+ skipIndexes = isArr || isArg || isBuff || isType,
+ result = skipIndexes ? baseTimes(value.length, String) : [],
+ length = result.length;
+
+ for (var key in value) {
+ if ((inherited || hasOwnProperty.call(value, key)) &&
+ !(skipIndexes && (
+ // Safari 9 has enumerable `arguments.length` in strict mode.
+ key == 'length' ||
+ // Node.js 0.10 has enumerable non-index properties on buffers.
+ (isBuff && (key == 'offset' || key == 'parent')) ||
+ // PhantomJS 2 has enumerable non-index properties on typed arrays.
+ (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
+ // Skip index properties.
+ isIndex(key, length)
+ ))) {
+ result.push(key);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} key The key to search for.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function assocIndexOf(array, key) {
+ var length = array.length;
+ while (length--) {
+ if (eq(array[length][0], key)) {
+ return length;
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
+ * `keysFunc` and `symbolsFunc` to get the enumerable property names and
+ * symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @param {Function} symbolsFunc The function to get the symbols of `object`.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
+ var result = keysFunc(object);
+ return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
+ }
+
+ /**
+ * The base implementation of `getTag` without fallbacks for buggy environments.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ function baseGetTag(value) {
+ if (value == null) {
+ return value === undefined ? undefinedTag : nullTag;
+ }
+ return (symToStringTag && symToStringTag in Object(value))
+ ? getRawTag(value)
+ : objectToString(value);
+ }
+
+ /**
+ * The base implementation of `_.isArguments`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
+ */
+ function baseIsArguments(value) {
+ return isObjectLike(value) && baseGetTag(value) == argsTag;
+ }
+
+ /**
+ * The base implementation of `_.isEqual` which supports partial comparisons
+ * and tracks traversed objects.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ */
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
+ if (value === other) {
+ return true;
+ }
+ if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
+ return value !== value && other !== other;
+ }
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
+ }
+
+ /**
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
+ * deep comparisons and tracks traversed objects enabling objects with circular
+ * references to be compared.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
+ var objIsArr = isArray(object),
+ othIsArr = isArray(other),
+ objTag = objIsArr ? arrayTag : getTag(object),
+ othTag = othIsArr ? arrayTag : getTag(other);
+
+ objTag = objTag == argsTag ? objectTag : objTag;
+ othTag = othTag == argsTag ? objectTag : othTag;
+
+ var objIsObj = objTag == objectTag,
+ othIsObj = othTag == objectTag,
+ isSameTag = objTag == othTag;
+
+ if (isSameTag && isBuffer(object)) {
+ if (!isBuffer(other)) {
+ return false;
+ }
+ objIsArr = true;
+ objIsObj = false;
+ }
+ if (isSameTag && !objIsObj) {
+ stack || (stack = new Stack);
+ return (objIsArr || isTypedArray(object))
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
+ }
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
+ othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
+
+ if (objIsWrapped || othIsWrapped) {
+ var objUnwrapped = objIsWrapped ? object.value() : object,
+ othUnwrapped = othIsWrapped ? other.value() : other;
+
+ stack || (stack = new Stack);
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
+ }
+ }
+ if (!isSameTag) {
+ return false;
+ }
+ stack || (stack = new Stack);
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
+ }
+
+ /**
+ * The base implementation of `_.isNative` without bad shim checks.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function,
+ * else `false`.
+ */
+ function baseIsNative(value) {
+ if (!isObject(value) || isMasked(value)) {
+ return false;
+ }
+ var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+ return pattern.test(toSource(value));
+ }
+
+ /**
+ * The base implementation of `_.isTypedArray` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
+ */
+ function baseIsTypedArray(value) {
+ return isObjectLike(value) &&
+ isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+ }
+
+ /**
+ * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+ function baseKeys(object) {
+ if (!isPrototype(object)) {
+ return nativeKeys(object);
+ }
+ var result = [];
+ for (var key in Object(object)) {
+ if (hasOwnProperty.call(object, key) && key != 'constructor') {
+ result.push(key);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Array} array The array to compare.
+ * @param {Array} other The other array to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
+ */
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
+ arrLength = array.length,
+ othLength = other.length;
+
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
+ return false;
+ }
+ // Assume cyclic values are equal.
+ var stacked = stack.get(array);
+ if (stacked && stack.get(other)) {
+ return stacked == other;
+ }
+ var index = -1,
+ result = true,
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
+
+ stack.set(array, other);
+ stack.set(other, array);
+
+ // Ignore non-index properties.
+ while (++index < arrLength) {
+ var arrValue = array[index],
+ othValue = other[index];
+
+ if (customizer) {
+ var compared = isPartial
+ ? customizer(othValue, arrValue, index, other, array, stack)
+ : customizer(arrValue, othValue, index, array, other, stack);
+ }
+ if (compared !== undefined) {
+ if (compared) {
+ continue;
+ }
+ result = false;
+ break;
+ }
+ // Recursively compare arrays (susceptible to call stack limits).
+ if (seen) {
+ if (!arraySome(other, function(othValue, othIndex) {
+ if (!cacheHas(seen, othIndex) &&
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
+ return seen.push(othIndex);
+ }
+ })) {
+ result = false;
+ break;
+ }
+ } else if (!(
+ arrValue === othValue ||
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
+ )) {
+ result = false;
+ break;
+ }
+ }
+ stack['delete'](array);
+ stack['delete'](other);
+ return result;
+ }
+
+ /**
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
+ * the same `toStringTag`.
+ *
+ * **Note:** This function only supports comparing values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {string} tag The `toStringTag` of the objects to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
+ switch (tag) {
+ case dataViewTag:
+ if ((object.byteLength != other.byteLength) ||
+ (object.byteOffset != other.byteOffset)) {
+ return false;
+ }
+ object = object.buffer;
+ other = other.buffer;
+
+ case arrayBufferTag:
+ if ((object.byteLength != other.byteLength) ||
+ !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
+ return false;
+ }
+ return true;
+
+ case boolTag:
+ case dateTag:
+ case numberTag:
+ // Coerce booleans to `1` or `0` and dates to milliseconds.
+ // Invalid dates are coerced to `NaN`.
+ return eq(+object, +other);
+
+ case errorTag:
+ return object.name == other.name && object.message == other.message;
+
+ case regexpTag:
+ case stringTag:
+ // Coerce regexes to strings and treat strings, primitives and objects,
+ // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
+ // for more details.
+ return object == (other + '');
+
+ case mapTag:
+ var convert = mapToArray;
+
+ case setTag:
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
+ convert || (convert = setToArray);
+
+ if (object.size != other.size && !isPartial) {
+ return false;
+ }
+ // Assume cyclic values are equal.
+ var stacked = stack.get(object);
+ if (stacked) {
+ return stacked == other;
+ }
+ bitmask |= COMPARE_UNORDERED_FLAG;
+
+ // Recursively compare objects (susceptible to call stack limits).
+ stack.set(object, other);
+ var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
+ stack['delete'](object);
+ return result;
+
+ case symbolTag:
+ if (symbolValueOf) {
+ return symbolValueOf.call(object) == symbolValueOf.call(other);
+ }
+ }
+ return false;
+ }
+
+ /**
+ * A specialized version of `baseIsEqualDeep` for objects with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
+ objProps = getAllKeys(object),
+ objLength = objProps.length,
+ othProps = getAllKeys(other),
+ othLength = othProps.length;
+
+ if (objLength != othLength && !isPartial) {
+ return false;
+ }
+ var index = objLength;
+ while (index--) {
+ var key = objProps[index];
+ if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
+ return false;
+ }
+ }
+ // Assume cyclic values are equal.
+ var stacked = stack.get(object);
+ if (stacked && stack.get(other)) {
+ return stacked == other;
+ }
+ var result = true;
+ stack.set(object, other);
+ stack.set(other, object);
+
+ var skipCtor = isPartial;
+ while (++index < objLength) {
+ key = objProps[index];
+ var objValue = object[key],
+ othValue = other[key];
+
+ if (customizer) {
+ var compared = isPartial
+ ? customizer(othValue, objValue, key, other, object, stack)
+ : customizer(objValue, othValue, key, object, other, stack);
+ }
+ // Recursively compare objects (susceptible to call stack limits).
+ if (!(compared === undefined
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
+ : compared
+ )) {
+ result = false;
+ break;
+ }
+ skipCtor || (skipCtor = key == 'constructor');
+ }
+ if (result && !skipCtor) {
+ var objCtor = object.constructor,
+ othCtor = other.constructor;
+
+ // Non `Object` object instances with different constructors are not equal.
+ if (objCtor != othCtor &&
+ ('constructor' in object && 'constructor' in other) &&
+ !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
+ typeof othCtor == 'function' && othCtor instanceof othCtor)) {
+ result = false;
+ }
+ }
+ stack['delete'](object);
+ stack['delete'](other);
+ return result;
+ }
+
+ /**
+ * Creates an array of own enumerable property names and symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function getAllKeys(object) {
+ return baseGetAllKeys(object, keys, getSymbols);
+ }
+
+ /**
+ * Gets the data for `map`.
+ *
+ * @private
+ * @param {Object} map The map to query.
+ * @param {string} key The reference key.
+ * @returns {*} Returns the map data.
+ */
+ function getMapData(map, key) {
+ var data = map.__data__;
+ return isKeyable(key)
+ ? data[typeof key == 'string' ? 'string' : 'hash']
+ : data.map;
+ }
+
+ /**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */
+ function getNative(object, key) {
+ var value = getValue(object, key);
+ return baseIsNative(value) ? value : undefined;
+ }
+
+ /**
+ * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the raw `toStringTag`.
+ */
+ function getRawTag(value) {
+ var isOwn = hasOwnProperty.call(value, symToStringTag),
+ tag = value[symToStringTag];
+
+ try {
+ value[symToStringTag] = undefined;
+ var unmasked = true;
+ } catch (e) {}
+
+ var result = nativeObjectToString.call(value);
+ if (unmasked) {
+ if (isOwn) {
+ value[symToStringTag] = tag;
+ } else {
+ delete value[symToStringTag];
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Creates an array of the own enumerable symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of symbols.
+ */
+ var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
+ if (object == null) {
+ return [];
+ }
+ object = Object(object);
+ return arrayFilter(nativeGetSymbols(object), function(symbol) {
+ return propertyIsEnumerable.call(object, symbol);
+ });
+ };
+
+ /**
+ * Gets the `toStringTag` of `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ var getTag = baseGetTag;
+
+ // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
+ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
+ (Map && getTag(new Map) != mapTag) ||
+ (Promise && getTag(Promise.resolve()) != promiseTag) ||
+ (Set && getTag(new Set) != setTag) ||
+ (WeakMap && getTag(new WeakMap) != weakMapTag)) {
+ getTag = function(value) {
+ var result = baseGetTag(value),
+ Ctor = result == objectTag ? value.constructor : undefined,
+ ctorString = Ctor ? toSource(Ctor) : '';
+
+ if (ctorString) {
+ switch (ctorString) {
+ case dataViewCtorString: return dataViewTag;
+ case mapCtorString: return mapTag;
+ case promiseCtorString: return promiseTag;
+ case setCtorString: return setTag;
+ case weakMapCtorString: return weakMapTag;
+ }
+ }
+ return result;
+ };
+ }
+
+ /**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */
+ function isIndex(value, length) {
+ length = length == null ? MAX_SAFE_INTEGER : length;
+ return !!length &&
+ (typeof value == 'number' || reIsUint.test(value)) &&
+ (value > -1 && value % 1 == 0 && value < length);
+ }
+
+ /**
+ * Checks if `value` is suitable for use as unique object key.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
+ */
+ function isKeyable(value) {
+ var type = typeof value;
+ return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
+ ? (value !== '__proto__')
+ : (value === null);
+ }
+
+ /**
+ * Checks if `func` has its source masked.
+ *
+ * @private
+ * @param {Function} func The function to check.
+ * @returns {boolean} Returns `true` if `func` is masked, else `false`.
+ */
+ function isMasked(func) {
+ return !!maskSrcKey && (maskSrcKey in func);
+ }
+
+ /**
+ * Checks if `value` is likely a prototype object.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
+ */
+ function isPrototype(value) {
+ var Ctor = value && value.constructor,
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
+
+ return value === proto;
+ }
+
+ /**
+ * Converts `value` to a string using `Object.prototype.toString`.
+ *
+ * @private
+ * @param {*} value The value to convert.
+ * @returns {string} Returns the converted string.
+ */
+ function objectToString(value) {
+ return nativeObjectToString.call(value);
+ }
+
+ /**
+ * Converts `func` to its source code.
+ *
+ * @private
+ * @param {Function} func The function to convert.
+ * @returns {string} Returns the source code.
+ */
+ function toSource(func) {
+ if (func != null) {
+ try {
+ return funcToString.call(func);
+ } catch (e) {}
+ try {
+ return (func + '');
+ } catch (e) {}
+ }
+ return '';
+ }
+
+ /**
+ * Performs a
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * comparison between two values to determine if they are equivalent.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ * var other = { 'a': 1 };
+ *
+ * _.eq(object, object);
+ * // => true
+ *
+ * _.eq(object, other);
+ * // => false
+ *
+ * _.eq('a', 'a');
+ * // => true
+ *
+ * _.eq('a', Object('a'));
+ * // => false
+ *
+ * _.eq(NaN, NaN);
+ * // => true
+ */
+ function eq(value, other) {
+ return value === other || (value !== value && other !== other);
+ }
+
+ /**
+ * Checks if `value` is likely an `arguments` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
+ * else `false`.
+ * @example
+ *
+ * _.isArguments(function() { return arguments; }());
+ * // => true
+ *
+ * _.isArguments([1, 2, 3]);
+ * // => false
+ */
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
+ !propertyIsEnumerable.call(value, 'callee');
+ };
+
+ /**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(document.body.children);
+ * // => false
+ *
+ * _.isArray('abc');
+ * // => false
+ *
+ * _.isArray(_.noop);
+ * // => false
+ */
+ var isArray = Array.isArray;
+
+ /**
+ * Checks if `value` is array-like. A value is considered array-like if it's
+ * not a function and has a `value.length` that's an integer greater than or
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ * @example
+ *
+ * _.isArrayLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isArrayLike(document.body.children);
+ * // => true
+ *
+ * _.isArrayLike('abc');
+ * // => true
+ *
+ * _.isArrayLike(_.noop);
+ * // => false
+ */
+ function isArrayLike(value) {
+ return value != null && isLength(value.length) && !isFunction(value);
+ }
+
+ /**
+ * Checks if `value` is a buffer.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.3.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
+ * @example
+ *
+ * _.isBuffer(new Buffer(2));
+ * // => true
+ *
+ * _.isBuffer(new Uint8Array(2));
+ * // => false
+ */
+ var isBuffer = nativeIsBuffer || stubFalse;
+
+ /**
+ * Performs a deep comparison between two values to determine if they are
+ * equivalent.
+ *
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
+ * by their own, not inherited, enumerable properties. Functions and DOM
+ * nodes are compared by strict equality, i.e. `===`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ * var other = { 'a': 1 };
+ *
+ * _.isEqual(object, other);
+ * // => true
+ *
+ * object === other;
+ * // => false
+ */
+ function isEqual(value, other) {
+ return baseIsEqual(value, other);
+ }
+
+ /**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */
+ function isFunction(value) {
+ if (!isObject(value)) {
+ return false;
+ }
+ // The use of `Object#toString` avoids issues with the `typeof` operator
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
+ var tag = baseGetTag(value);
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+ }
+
+ /**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This method is loosely based on
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ * @example
+ *
+ * _.isLength(3);
+ * // => true
+ *
+ * _.isLength(Number.MIN_VALUE);
+ * // => false
+ *
+ * _.isLength(Infinity);
+ * // => false
+ *
+ * _.isLength('3');
+ * // => false
+ */
+ function isLength(value) {
+ return typeof value == 'number' &&
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+ }
+
+ /**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+ function isObject(value) {
+ var type = typeof value;
+ return value != null && (type == 'object' || type == 'function');
+ }
+
+ /**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+ function isObjectLike(value) {
+ return value != null && typeof value == 'object';
+ }
+
+ /**
+ * Checks if `value` is classified as a typed array.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
+ * @example
+ *
+ * _.isTypedArray(new Uint8Array);
+ * // => true
+ *
+ * _.isTypedArray([]);
+ * // => false
+ */
+ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+
+ /**
+ * Creates an array of the own enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects. See the
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
+ * for more details.
+ *
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keys(new Foo);
+ * // => ['a', 'b'] (iteration order is not guaranteed)
+ *
+ * _.keys('hi');
+ * // => ['0', '1']
+ */
+ function keys(object) {
+ return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
+ }
+
+ /**
+ * This method returns a new empty array.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.13.0
+ * @category Util
+ * @returns {Array} Returns the new empty array.
+ * @example
+ *
+ * var arrays = _.times(2, _.stubArray);
+ *
+ * console.log(arrays);
+ * // => [[], []]
+ *
+ * console.log(arrays[0] === arrays[1]);
+ * // => false
+ */
+ function stubArray() {
+ return [];
+ }
+
+ /**
+ * This method returns `false`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.13.0
+ * @category Util
+ * @returns {boolean} Returns `false`.
+ * @example
+ *
+ * _.times(2, _.stubFalse);
+ * // => [false, false]
+ */
+ function stubFalse() {
+ return false;
+ }
+
+ module.exports = isEqual;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35), __webpack_require__(245)(module)))
+
+ /***/ }),
+ /* 21 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.create = exports.connect = exports.Provider = undefined;
+
+ var _Provider2 = __webpack_require__(793);
+
+ var _Provider3 = _interopRequireDefault(_Provider2);
+
+ var _connect2 = __webpack_require__(794);
+
+ var _connect3 = _interopRequireDefault(_connect2);
+
+ var _create2 = __webpack_require__(796);
+
+ var _create3 = _interopRequireDefault(_create2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.Provider = _Provider3.default;
+ exports.connect = _connect3.default;
+ exports.create = _create3.default;
+
+ /***/ }),
+ /* 22 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = ownerDocument;
+ function ownerDocument(node) {
+ return node && node.ownerDocument || document;
+ }
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 23 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ exports.default = function (obj, keys) {
+ var target = {};
+
+ for (var i in obj) {
+ if (keys.indexOf(i) >= 0) continue;
+ if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
+ target[i] = obj[i];
+ }
+
+ return target;
+ };
+
+ /***/ }),
+ /* 24 */
+ /***/ (function(module, exports) {
+
+ var core = module.exports = { version: '2.6.11' };
+ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
+
+
+ /***/ }),
+ /* 25 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 26 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = function () {
+ var root = _inDOM2.default && document.documentElement;
+
+ return root && root.contains ? function (context, node) {
+ return context.contains(node);
+ } : root && root.compareDocumentPosition ? function (context, node) {
+ return context === node || !!(context.compareDocumentPosition(node) & 16);
+ } : function (context, node) {
+ if (node) do {
+ if (node === context) return true;
+ } while (node = node.parentNode);
+
+ return false;
+ };
+ }();
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 27 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined;
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var transform = 'transform';
+ var prefix = void 0,
+ transitionEnd = void 0;
+ var transitionTiming = void 0,
+ transitionDuration = void 0;
+ var transitionProperty = void 0,
+ transitionDelay = void 0;
+
+ if (_inDOM2.default) {
+ var _getTransitionPropert = getTransitionProperties();
+
+ prefix = _getTransitionPropert.prefix;
+ exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
+
+
+ exports.transform = transform = prefix + '-' + transform;
+ exports.transitionProperty = transitionProperty = prefix + '-transition-property';
+ exports.transitionDuration = transitionDuration = prefix + '-transition-duration';
+ exports.transitionDelay = transitionDelay = prefix + '-transition-delay';
+ exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function';
+ }
+
+ exports.transform = transform;
+ exports.transitionProperty = transitionProperty;
+ exports.transitionTiming = transitionTiming;
+ exports.transitionDelay = transitionDelay;
+ exports.transitionDuration = transitionDuration;
+ exports.transitionEnd = transitionEnd;
+ exports.default = {
+ transform: transform,
+ end: transitionEnd,
+ property: transitionProperty,
+ timing: transitionTiming,
+ delay: transitionDelay,
+ duration: transitionDuration
+ };
+
+
+ function getTransitionProperties() {
+ var transitionEnd = void 0;
+ var prefix = '';
+ var eventNames = {
+ O: 'otransitionend',
+ Moz: 'transitionend',
+ Webkit: 'webkitTransitionEnd',
+ ms: 'MSTransitionEnd'
+ };
+
+ var element = document.createElement('div');
+ for (var vendor in eventNames) {
+ if (eventNames.hasOwnProperty(vendor)) {
+ if (element.style[vendor + 'TransitionProperty'] !== undefined) {
+ prefix = '-' + vendor.toLowerCase();
+ transitionEnd = eventNames[vendor];
+ break;
+ }
+ }
+ }if (!transitionEnd && element.style.transitionProperty !== undefined) transitionEnd = 'transitionend';
+
+ element = null;
+
+ return { transitionEnd: transitionEnd, prefix: prefix };
+ }
+
+ /***/ }),
+ /* 28 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DragDropContext", function() { return DragDropContext; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Droppable", function() { return connectedDroppable; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Draggable", function() { return ConnectedDraggable; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resetServerContext", function() { return resetServerContext; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__ = __webpack_require__(1091);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_tiny_invariant__ = __webpack_require__(307);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_css_box_model__ = __webpack_require__(1092);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys__ = __webpack_require__(1093);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_memoize_one__ = __webpack_require__(1097);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_redux__ = __webpack_require__(308);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__babel_runtime_corejs2_core_js_object_assign__ = __webpack_require__(306);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__babel_runtime_corejs2_core_js_object_assign___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__babel_runtime_corejs2_core_js_object_assign__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_raf_schd__ = __webpack_require__(1101);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__ = __webpack_require__(1102);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_redux__ = __webpack_require__(1104);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_motion__ = __webpack_require__(1117);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_motion___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_react_motion__);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var vertical = {
+ direction: 'vertical',
+ line: 'y',
+ crossAxisLine: 'x',
+ start: 'top',
+ end: 'bottom',
+ size: 'height',
+ crossAxisStart: 'left',
+ crossAxisEnd: 'right',
+ crossAxisSize: 'width'
+ };
+ var horizontal = {
+ direction: 'horizontal',
+ line: 'x',
+ crossAxisLine: 'y',
+ start: 'left',
+ end: 'right',
+ size: 'width',
+ crossAxisStart: 'top',
+ crossAxisEnd: 'bottom',
+ crossAxisSize: 'height'
+ };
+
+ var origin = {
+ x: 0,
+ y: 0
+ };
+ var add = function add(point1, point2) {
+ return {
+ x: point1.x + point2.x,
+ y: point1.y + point2.y
+ };
+ };
+ var subtract = function subtract(point1, point2) {
+ return {
+ x: point1.x - point2.x,
+ y: point1.y - point2.y
+ };
+ };
+ var isEqual = function isEqual(point1, point2) {
+ return point1.x === point2.x && point1.y === point2.y;
+ };
+ var negate = function negate(point) {
+ return {
+ x: point.x !== 0 ? -point.x : 0,
+ y: point.y !== 0 ? -point.y : 0
+ };
+ };
+ var absolute = function absolute(point) {
+ return {
+ x: Math.abs(point.x),
+ y: Math.abs(point.y)
+ };
+ };
+ var patch = function patch(line, value, otherValue) {
+ var _ref;
+
+ if (otherValue === void 0) {
+ otherValue = 0;
+ }
+
+ return _ref = {}, _ref[line] = value, _ref[line === 'x' ? 'y' : 'x'] = otherValue, _ref;
+ };
+ var distance = function distance(point1, point2) {
+ return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
+ };
+ var closest = function closest(target, points) {
+ return Math.min.apply(Math, points.map(function (point) {
+ return distance(target, point);
+ }));
+ };
+ var apply = function apply(fn) {
+ return function (point) {
+ return {
+ x: fn(point.x),
+ y: fn(point.y)
+ };
+ };
+ };
+
+ var offsetByPosition = function offsetByPosition(spacing, point) {
+ return {
+ top: spacing.top + point.y,
+ left: spacing.left + point.x,
+ bottom: spacing.bottom + point.y,
+ right: spacing.right + point.x
+ };
+ };
+ var expandByPosition = function expandByPosition(spacing, position) {
+ return {
+ top: spacing.top - position.y,
+ left: spacing.left - position.x,
+ right: spacing.right + position.x,
+ bottom: spacing.bottom + position.y
+ };
+ };
+ var getCorners = function getCorners(spacing) {
+ return [{
+ x: spacing.left,
+ y: spacing.top
+ }, {
+ x: spacing.right,
+ y: spacing.top
+ }, {
+ x: spacing.left,
+ y: spacing.bottom
+ }, {
+ x: spacing.right,
+ y: spacing.bottom
+ }];
+ };
+
+ var getMaxScroll = (function (_ref) {
+ var scrollHeight = _ref.scrollHeight,
+ scrollWidth = _ref.scrollWidth,
+ height = _ref.height,
+ width = _ref.width;
+ var maxScroll = subtract({
+ x: scrollWidth,
+ y: scrollHeight
+ }, {
+ x: width,
+ y: height
+ });
+ var adjustedMaxScroll = {
+ x: Math.max(0, maxScroll.x),
+ y: Math.max(0, maxScroll.y)
+ };
+ return adjustedMaxScroll;
+ });
+
+ var clip = function clip(frame, subject) {
+ var result = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["d" /* getRect */])({
+ top: Math.max(subject.top, frame.top),
+ right: Math.min(subject.right, frame.right),
+ bottom: Math.min(subject.bottom, frame.bottom),
+ left: Math.max(subject.left, frame.left)
+ });
+
+ if (result.width <= 0 || result.height <= 0) {
+ return null;
+ }
+
+ return result;
+ };
+ var getDroppableDimension = function getDroppableDimension(_ref) {
+ var descriptor = _ref.descriptor,
+ isEnabled = _ref.isEnabled,
+ direction = _ref.direction,
+ client = _ref.client,
+ page = _ref.page,
+ closest$$1 = _ref.closest;
+
+ var scrollable = function () {
+ if (!closest$$1) {
+ return null;
+ }
+
+ var maxScroll = getMaxScroll({
+ scrollHeight: closest$$1.scrollHeight,
+ scrollWidth: closest$$1.scrollWidth,
+ height: closest$$1.client.paddingBox.height,
+ width: closest$$1.client.paddingBox.width
+ });
+ return {
+ framePageMarginBox: closest$$1.page.marginBox,
+ shouldClipSubject: closest$$1.shouldClipSubject,
+ scroll: {
+ initial: closest$$1.scroll,
+ current: closest$$1.scroll,
+ max: maxScroll,
+ diff: {
+ value: origin,
+ displacement: origin
+ }
+ }
+ };
+ }();
+
+ var subjectPageMarginBox = page.marginBox;
+ var clippedPageMarginBox = scrollable && scrollable.shouldClipSubject ? clip(scrollable.framePageMarginBox, subjectPageMarginBox) : subjectPageMarginBox;
+ var viewport = {
+ closestScrollable: scrollable,
+ subjectPageMarginBox: subjectPageMarginBox,
+ clippedPageMarginBox: clippedPageMarginBox
+ };
+ var dimension = {
+ descriptor: descriptor,
+ axis: direction === 'vertical' ? vertical : horizontal,
+ isEnabled: isEnabled,
+ client: client,
+ page: page,
+ viewport: viewport
+ };
+ return dimension;
+ };
+ var scrollDroppable = function scrollDroppable(droppable, newScroll) {
+ !droppable.viewport.closestScrollable ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var scrollable = droppable.viewport.closestScrollable;
+ var framePageMarginBox = scrollable.framePageMarginBox;
+ var scrollDiff = subtract(newScroll, scrollable.scroll.initial);
+ var scrollDisplacement = negate(scrollDiff);
+ var closestScrollable = {
+ framePageMarginBox: scrollable.framePageMarginBox,
+ shouldClipSubject: scrollable.shouldClipSubject,
+ scroll: {
+ initial: scrollable.scroll.initial,
+ current: newScroll,
+ diff: {
+ value: scrollDiff,
+ displacement: scrollDisplacement
+ },
+ max: scrollable.scroll.max
+ }
+ };
+ var displacedSubject = offsetByPosition(droppable.viewport.subjectPageMarginBox, scrollDisplacement);
+ var clippedPageMarginBox = closestScrollable.shouldClipSubject ? clip(framePageMarginBox, displacedSubject) : Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["d" /* getRect */])(displacedSubject);
+ var viewport = {
+ closestScrollable: closestScrollable,
+ subjectPageMarginBox: droppable.viewport.subjectPageMarginBox,
+ clippedPageMarginBox: clippedPageMarginBox
+ };
+
+ var result = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, droppable, {
+ viewport: viewport
+ });
+
+ return result;
+ };
+
+ var toDroppableMap = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (droppables) {
+ return droppables.reduce(function (previous, current) {
+ previous[current.descriptor.id] = current;
+ return previous;
+ }, {});
+ });
+ var toDraggableMap = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (draggables) {
+ return draggables.reduce(function (previous, current) {
+ previous[current.descriptor.id] = current;
+ return previous;
+ }, {});
+ });
+ var toDroppableList = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (droppables) {
+ return __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(droppables).map(function (id) {
+ return droppables[id];
+ });
+ });
+ var toDraggableList = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (draggables) {
+ return __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(draggables).map(function (id) {
+ return draggables[id];
+ });
+ });
+
+ var getDraggablesInsideDroppable = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (droppable, draggables) {
+ return toDraggableList(draggables).filter(function (draggable) {
+ return droppable.descriptor.id === draggable.descriptor.droppableId;
+ }).sort(function (a, b) {
+ return a.descriptor.index - b.descriptor.index;
+ });
+ });
+
+ var isWithin = (function (lowerBound, upperBound) {
+ return function (value) {
+ return value <= upperBound && value >= lowerBound;
+ };
+ });
+
+ var isPositionInFrame = (function (frame) {
+ var isWithinVertical = isWithin(frame.top, frame.bottom);
+ var isWithinHorizontal = isWithin(frame.left, frame.right);
+ return function (point) {
+ return isWithinVertical(point.y) && isWithinVertical(point.y) && isWithinHorizontal(point.x) && isWithinHorizontal(point.x);
+ };
+ });
+
+ var getRequiredGrowth = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (draggable, draggables, droppable) {
+ var getResult = function getResult(existingSpace) {
+ var requiredSpace = draggable.page.marginBox[droppable.axis.size];
+
+ if (requiredSpace <= existingSpace) {
+ return null;
+ }
+
+ var requiredGrowth = patch(droppable.axis.line, requiredSpace - existingSpace);
+ return requiredGrowth;
+ };
+
+ var dimensions = getDraggablesInsideDroppable(droppable, draggables);
+
+ if (!dimensions.length) {
+ var _existingSpace = droppable.page.marginBox[droppable.axis.size];
+ return getResult(_existingSpace);
+ }
+
+ var endOfDraggables = dimensions[dimensions.length - 1].page.marginBox[droppable.axis.end];
+ var endOfDroppable = droppable.page.marginBox[droppable.axis.end];
+ var existingSpace = endOfDroppable - endOfDraggables;
+ return getResult(existingSpace);
+ });
+ var getWithGrowth = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (area, growth) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["d" /* getRect */])(expandByPosition(area, growth));
+ });
+
+ var getClippedRectWithPlaceholder = function getClippedRectWithPlaceholder(_ref) {
+ var draggable = _ref.draggable,
+ draggables = _ref.draggables,
+ droppable = _ref.droppable,
+ previousDroppableOverId = _ref.previousDroppableOverId;
+ var isHome = draggable.descriptor.droppableId === droppable.descriptor.id;
+ var wasOver = Boolean(previousDroppableOverId && previousDroppableOverId === droppable.descriptor.id);
+ var clippedPageMarginBox = droppable.viewport.clippedPageMarginBox;
+
+ if (!clippedPageMarginBox) {
+ return clippedPageMarginBox;
+ }
+
+ if (isHome || !wasOver) {
+ return clippedPageMarginBox;
+ }
+
+ var requiredGrowth = getRequiredGrowth(draggable, draggables, droppable);
+
+ if (!requiredGrowth) {
+ return clippedPageMarginBox;
+ }
+
+ var subjectWithGrowth = getWithGrowth(clippedPageMarginBox, requiredGrowth);
+ var closestScrollable = droppable.viewport.closestScrollable;
+
+ if (!closestScrollable) {
+ return subjectWithGrowth;
+ }
+
+ if (!closestScrollable.shouldClipSubject) {
+ return subjectWithGrowth;
+ }
+
+ return clip(closestScrollable.framePageMarginBox, subjectWithGrowth);
+ };
+
+ var getDroppableOver = (function (_ref2) {
+ var target = _ref2.target,
+ draggable = _ref2.draggable,
+ draggables = _ref2.draggables,
+ droppables = _ref2.droppables,
+ previousDroppableOverId = _ref2.previousDroppableOverId;
+ var maybe = toDroppableList(droppables).filter(function (droppable) {
+ return droppable.isEnabled;
+ }).find(function (droppable) {
+ var withPlaceholder = getClippedRectWithPlaceholder({
+ draggable: draggable,
+ draggables: draggables,
+ droppable: droppable,
+ previousDroppableOverId: previousDroppableOverId
+ });
+
+ if (!withPlaceholder) {
+ return false;
+ }
+
+ return isPositionInFrame(withPlaceholder)(target);
+ });
+ return maybe ? maybe.descriptor.id : null;
+ });
+
+ var noMovement = {
+ displaced: [],
+ amount: origin,
+ isBeyondStartPosition: false
+ };
+ var noImpact = {
+ movement: noMovement,
+ direction: null,
+ destination: null
+ };
+
+ var getDisplacementMap = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (displaced) {
+ return displaced.reduce(function (map, displacement) {
+ map[displacement.draggableId] = displacement;
+ return map;
+ }, {});
+ });
+
+ var isPartiallyVisibleThroughFrame = (function (frame) {
+ var isWithinVertical = isWithin(frame.top, frame.bottom);
+ var isWithinHorizontal = isWithin(frame.left, frame.right);
+ return function (subject) {
+ var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);
+
+ if (isContained) {
+ return true;
+ }
+
+ var isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);
+ var isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);
+ var isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;
+
+ if (isPartiallyContained) {
+ return true;
+ }
+
+ var isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;
+ var isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;
+ var isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;
+
+ if (isTargetBiggerThanFrame) {
+ return true;
+ }
+
+ var isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;
+ return isTargetBiggerOnOneAxis;
+ };
+ });
+
+ var isTotallyVisibleThroughFrame = (function (frame) {
+ var isWithinVertical = isWithin(frame.top, frame.bottom);
+ var isWithinHorizontal = isWithin(frame.left, frame.right);
+ return function (subject) {
+ var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);
+ return isContained;
+ };
+ });
+
+ var isVisible = function isVisible(_ref) {
+ var target = _ref.target,
+ destination = _ref.destination,
+ viewport = _ref.viewport,
+ isVisibleThroughFrameFn = _ref.isVisibleThroughFrameFn;
+ var displacement = destination.viewport.closestScrollable ? destination.viewport.closestScrollable.scroll.diff.displacement : origin;
+ var withDisplacement = offsetByPosition(target, displacement);
+
+ if (!destination.viewport.clippedPageMarginBox) {
+ return false;
+ }
+
+ var isVisibleInDroppable = isVisibleThroughFrameFn(destination.viewport.clippedPageMarginBox)(withDisplacement);
+ var isVisibleInViewport = isVisibleThroughFrameFn(viewport)(withDisplacement);
+ return isVisibleInDroppable && isVisibleInViewport;
+ };
+
+ var isPartiallyVisible = function isPartiallyVisible(_ref2) {
+ var target = _ref2.target,
+ destination = _ref2.destination,
+ viewport = _ref2.viewport;
+ return isVisible({
+ target: target,
+ destination: destination,
+ viewport: viewport,
+ isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame
+ });
+ };
+ var isTotallyVisible = function isTotallyVisible(_ref3) {
+ var target = _ref3.target,
+ destination = _ref3.destination,
+ viewport = _ref3.viewport;
+ return isVisible({
+ target: target,
+ destination: destination,
+ viewport: viewport,
+ isVisibleThroughFrameFn: isTotallyVisibleThroughFrame
+ });
+ };
+
+ var getDisplacement = (function (_ref) {
+ var draggable = _ref.draggable,
+ destination = _ref.destination,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var id = draggable.descriptor.id;
+ var map = getDisplacementMap(previousImpact.movement.displaced);
+ var isVisible = isPartiallyVisible({
+ target: draggable.page.marginBox,
+ destination: destination,
+ viewport: viewport
+ });
+
+ var shouldAnimate = function () {
+ if (!isVisible) {
+ return false;
+ }
+
+ var previous = map[id];
+
+ if (!previous) {
+ return true;
+ }
+
+ return previous.shouldAnimate;
+ }();
+
+ var displacement = {
+ draggableId: id,
+ isVisible: isVisible,
+ shouldAnimate: shouldAnimate
+ };
+ return displacement;
+ });
+
+ var withDroppableScroll = (function (droppable, point) {
+ var closestScrollable = droppable.viewport.closestScrollable;
+
+ if (!closestScrollable) {
+ return point;
+ }
+
+ return add(point, closestScrollable.scroll.diff.value);
+ });
+
+ var inHomeList = (function (_ref) {
+ var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ draggable = _ref.draggable,
+ home = _ref.home,
+ insideHome = _ref.insideHome,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var axis = home.axis;
+ var originalCenter = draggable.page.borderBox.center;
+ var currentCenter = withDroppableScroll(home, pageBorderBoxCenter);
+ var isBeyondStartPosition = currentCenter[axis.line] - originalCenter[axis.line] > 0;
+ var amount = patch(axis.line, draggable.client.marginBox[axis.size]);
+ var displaced = insideHome.filter(function (child) {
+ if (child === draggable) {
+ return false;
+ }
+
+ var borderBox = child.page.borderBox;
+
+ if (isBeyondStartPosition) {
+ if (borderBox.center[axis.line] < originalCenter[axis.line]) {
+ return false;
+ }
+
+ return currentCenter[axis.line] > borderBox[axis.start];
+ }
+
+ if (originalCenter[axis.line] < borderBox.center[axis.line]) {
+ return false;
+ }
+
+ return currentCenter[axis.line] < borderBox[axis.end];
+ }).map(function (dimension) {
+ return getDisplacement({
+ draggable: dimension,
+ destination: home,
+ previousImpact: previousImpact,
+ viewport: viewport.frame
+ });
+ });
+ var ordered = isBeyondStartPosition ? displaced.reverse() : displaced;
+
+ var index = function () {
+ var startIndex = draggable.descriptor.index;
+ var length = ordered.length;
+
+ if (!length) {
+ return startIndex;
+ }
+
+ if (isBeyondStartPosition) {
+ return startIndex + length;
+ }
+
+ return startIndex - length;
+ }();
+
+ var movement = {
+ amount: amount,
+ displaced: ordered,
+ isBeyondStartPosition: isBeyondStartPosition
+ };
+ var impact = {
+ movement: movement,
+ direction: axis.direction,
+ destination: {
+ droppableId: home.descriptor.id,
+ index: index
+ }
+ };
+ return impact;
+ });
+
+ var inForeignList = (function (_ref) {
+ var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ draggable = _ref.draggable,
+ destination = _ref.destination,
+ insideDestination = _ref.insideDestination,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var axis = destination.axis;
+ var currentCenter = withDroppableScroll(destination, pageBorderBoxCenter);
+ var displaced = insideDestination.filter(function (child) {
+ var threshold = child.page.borderBox[axis.end];
+ return threshold > currentCenter[axis.line];
+ }).map(function (dimension) {
+ return getDisplacement({
+ draggable: dimension,
+ destination: destination,
+ previousImpact: previousImpact,
+ viewport: viewport.frame
+ });
+ });
+ var newIndex = insideDestination.length - displaced.length;
+ var movement = {
+ amount: patch(axis.line, draggable.page.marginBox[axis.size]),
+ displaced: displaced,
+ isBeyondStartPosition: false
+ };
+ var impact = {
+ movement: movement,
+ direction: axis.direction,
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: newIndex
+ }
+ };
+ return impact;
+ });
+
+ var getDragImpact = (function (_ref) {
+ var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ draggable = _ref.draggable,
+ draggables = _ref.draggables,
+ droppables = _ref.droppables,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var previousDroppableOverId = previousImpact.destination && previousImpact.destination.droppableId;
+ var destinationId = getDroppableOver({
+ target: pageBorderBoxCenter,
+ draggable: draggable,
+ draggables: draggables,
+ droppables: droppables,
+ previousDroppableOverId: previousDroppableOverId
+ });
+
+ if (!destinationId) {
+ return noImpact;
+ }
+
+ var destination = droppables[destinationId];
+
+ if (!destination.isEnabled) {
+ return noImpact;
+ }
+
+ var home = droppables[draggable.descriptor.droppableId];
+ var isWithinHomeDroppable = home.descriptor.id === destinationId;
+ var insideDestination = getDraggablesInsideDroppable(destination, draggables);
+
+ if (isWithinHomeDroppable) {
+ return inHomeList({
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ draggable: draggable,
+ home: home,
+ insideHome: insideDestination,
+ previousImpact: previousImpact || noImpact,
+ viewport: viewport
+ });
+ }
+
+ return inForeignList({
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ draggable: draggable,
+ destination: destination,
+ insideDestination: insideDestination,
+ previousImpact: previousImpact || noImpact,
+ viewport: viewport
+ });
+ });
+
+ var getHomeLocation = (function (critical) {
+ return {
+ index: critical.draggable.index,
+ droppableId: critical.droppable.id
+ };
+ });
+
+ var getSafeClipped = function getSafeClipped(droppable) {
+ var rect = droppable.viewport.clippedPageMarginBox;
+ !rect ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot get clipped area from droppable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return rect;
+ };
+
+ var getBestCrossAxisDroppable = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ source = _ref.source,
+ droppables = _ref.droppables,
+ viewport = _ref.viewport;
+ var sourceClipped = source.viewport.clippedPageMarginBox;
+
+ if (!sourceClipped) {
+ return null;
+ }
+
+ var axis = source.axis;
+ var isBetweenSourceClipped = isWithin(sourceClipped[axis.start], sourceClipped[axis.end]);
+ var candidates = toDroppableList(droppables).filter(function (droppable) {
+ return droppable !== source;
+ }).filter(function (droppable) {
+ return droppable.isEnabled;
+ }).filter(function (droppable) {
+ var clippedPageMarginBox = droppable.viewport.clippedPageMarginBox;
+
+ if (!clippedPageMarginBox) {
+ return false;
+ }
+
+ return isPartiallyVisibleThroughFrame(viewport.frame)(clippedPageMarginBox);
+ }).filter(function (droppable) {
+ var targetClipped = getSafeClipped(droppable);
+
+ if (isMovingForward) {
+ return sourceClipped[axis.crossAxisEnd] < targetClipped[axis.crossAxisEnd];
+ }
+
+ return targetClipped[axis.crossAxisStart] < sourceClipped[axis.crossAxisStart];
+ }).filter(function (droppable) {
+ var targetClipped = getSafeClipped(droppable);
+ var isBetweenDestinationClipped = isWithin(targetClipped[axis.start], targetClipped[axis.end]);
+ return isBetweenSourceClipped(targetClipped[axis.start]) || isBetweenSourceClipped(targetClipped[axis.end]) || isBetweenDestinationClipped(sourceClipped[axis.start]) || isBetweenDestinationClipped(sourceClipped[axis.end]);
+ }).sort(function (a, b) {
+ var first = getSafeClipped(a)[axis.crossAxisStart];
+ var second = getSafeClipped(b)[axis.crossAxisStart];
+
+ if (isMovingForward) {
+ return first - second;
+ }
+
+ return second - first;
+ }).filter(function (droppable, index, array) {
+ return getSafeClipped(droppable)[axis.crossAxisStart] === getSafeClipped(array[0])[axis.crossAxisStart];
+ });
+
+ if (!candidates.length) {
+ return null;
+ }
+
+ if (candidates.length === 1) {
+ return candidates[0];
+ }
+
+ var contains = candidates.filter(function (droppable) {
+ var isWithinDroppable = isWithin(getSafeClipped(droppable)[axis.start], getSafeClipped(droppable)[axis.end]);
+ return isWithinDroppable(pageBorderBoxCenter[axis.line]);
+ });
+
+ if (contains.length === 1) {
+ return contains[0];
+ }
+
+ if (contains.length > 1) {
+ return contains.sort(function (a, b) {
+ return getSafeClipped(a)[axis.start] - getSafeClipped(b)[axis.start];
+ })[0];
+ }
+
+ return candidates.sort(function (a, b) {
+ var first = closest(pageBorderBoxCenter, getCorners(getSafeClipped(a)));
+ var second = closest(pageBorderBoxCenter, getCorners(getSafeClipped(b)));
+
+ if (first !== second) {
+ return first - second;
+ }
+
+ return getSafeClipped(a)[axis.start] - getSafeClipped(b)[axis.start];
+ })[0];
+ });
+
+ var withDroppableDisplacement = (function (droppable, point) {
+ var closestScrollable = droppable.viewport.closestScrollable;
+
+ if (!closestScrollable) {
+ return point;
+ }
+
+ return add(point, closestScrollable.scroll.diff.displacement);
+ });
+
+ var getClosestDraggable = (function (_ref) {
+ var axis = _ref.axis,
+ viewport = _ref.viewport,
+ pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ destination = _ref.destination,
+ insideDestination = _ref.insideDestination;
+
+ if (!insideDestination.length) {
+ return null;
+ }
+
+ var result = insideDestination.filter(function (draggable) {
+ return isTotallyVisible({
+ target: draggable.page.borderBox,
+ destination: destination,
+ viewport: viewport.frame
+ });
+ }).sort(function (a, b) {
+ var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, a.page.borderBox.center));
+ var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, b.page.borderBox.center));
+
+ if (distanceToA < distanceToB) {
+ return -1;
+ }
+
+ if (distanceToB < distanceToA) {
+ return 1;
+ }
+
+ return a.page.borderBox[axis.start] - b.page.borderBox[axis.start];
+ });
+ return result.length ? result[0] : null;
+ });
+
+ var moveToEdge = (function (_ref) {
+ var source = _ref.source,
+ sourceEdge = _ref.sourceEdge,
+ destination = _ref.destination,
+ destinationEdge = _ref.destinationEdge,
+ destinationAxis = _ref.destinationAxis;
+
+ var getCorner = function getCorner(area) {
+ return patch(destinationAxis.line, area[destinationAxis[destinationEdge]], area[destinationAxis.crossAxisStart]);
+ };
+
+ var corner = getCorner(destination);
+ var centerDiff = absolute(subtract(source.center, getCorner(source)));
+ var signed = patch(destinationAxis.line, (sourceEdge === 'end' ? -1 : 1) * centerDiff[destinationAxis.line], centerDiff[destinationAxis.crossAxisLine]);
+ return add(corner, signed);
+ });
+
+ var toHomeList = (function (_ref) {
+ var amount = _ref.amount,
+ homeIndex = _ref.homeIndex,
+ movingRelativeTo = _ref.movingRelativeTo,
+ insideDestination = _ref.insideDestination,
+ draggable = _ref.draggable,
+ destination = _ref.destination,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var axis = destination.axis;
+ var targetIndex = insideDestination.indexOf(movingRelativeTo);
+ !(targetIndex !== -1) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Unable to find target in destination droppable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (targetIndex === homeIndex) {
+ var _newCenter = draggable.page.borderBox.center;
+ var _newImpact = {
+ movement: {
+ displaced: [],
+ amount: amount,
+ isBeyondStartPosition: false
+ },
+ direction: destination.axis.direction,
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: homeIndex
+ }
+ };
+ return {
+ pageBorderBoxCenter: withDroppableDisplacement(destination, _newCenter),
+ impact: _newImpact
+ };
+ }
+
+ var isMovingPastOriginalIndex = targetIndex > homeIndex;
+ var edge = isMovingPastOriginalIndex ? 'end' : 'start';
+ var newCenter = moveToEdge({
+ source: draggable.page.borderBox,
+ sourceEdge: edge,
+ destination: isMovingPastOriginalIndex ? movingRelativeTo.page.borderBox : movingRelativeTo.page.marginBox,
+ destinationEdge: edge,
+ destinationAxis: axis
+ });
+
+ var modified = function () {
+ if (!isMovingPastOriginalIndex) {
+ return insideDestination.slice(targetIndex, homeIndex);
+ }
+
+ var from = homeIndex + 1;
+ var to = targetIndex + 1;
+ return insideDestination.slice(from, to).reverse();
+ }();
+
+ var displaced = modified.map(function (dimension) {
+ return getDisplacement({
+ draggable: dimension,
+ destination: destination,
+ previousImpact: previousImpact,
+ viewport: viewport.frame
+ });
+ });
+ var newImpact = {
+ movement: {
+ displaced: displaced,
+ amount: amount,
+ isBeyondStartPosition: isMovingPastOriginalIndex
+ },
+ direction: axis.direction,
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: targetIndex
+ }
+ };
+ return {
+ pageBorderBoxCenter: withDroppableDisplacement(destination, newCenter),
+ impact: newImpact
+ };
+ });
+
+ var toForeignList = (function (_ref) {
+ var amount = _ref.amount,
+ pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ movingRelativeTo = _ref.movingRelativeTo,
+ insideDestination = _ref.insideDestination,
+ draggable = _ref.draggable,
+ destination = _ref.destination,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var axis = destination.axis;
+ var isGoingBeforeTarget = Boolean(movingRelativeTo && pageBorderBoxCenter[destination.axis.line] < movingRelativeTo.page.borderBox.center[destination.axis.line]);
+
+ if (!movingRelativeTo) {
+ var _newCenter = moveToEdge({
+ source: draggable.page.borderBox,
+ sourceEdge: 'start',
+ destination: destination.page.contentBox,
+ destinationEdge: 'start',
+ destinationAxis: axis
+ });
+
+ var _newImpact = {
+ movement: {
+ displaced: [],
+ amount: amount,
+ isBeyondStartPosition: false
+ },
+ direction: axis.direction,
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: 0
+ }
+ };
+ return {
+ pageBorderBoxCenter: withDroppableDisplacement(destination, _newCenter),
+ impact: _newImpact
+ };
+ }
+
+ var targetIndex = insideDestination.indexOf(movingRelativeTo);
+ !(targetIndex !== -1) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'The target was not found within its droppable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var proposedIndex = isGoingBeforeTarget ? targetIndex : targetIndex + 1;
+ var newCenter = moveToEdge({
+ source: draggable.page.borderBox,
+ sourceEdge: 'start',
+ destination: movingRelativeTo.page.marginBox,
+ destinationEdge: isGoingBeforeTarget ? 'start' : 'end',
+ destinationAxis: axis
+ });
+ var displaced = insideDestination.slice(proposedIndex, insideDestination.length).map(function (dimension) {
+ return getDisplacement({
+ draggable: dimension,
+ destination: destination,
+ viewport: viewport.frame,
+ previousImpact: previousImpact
+ });
+ });
+ var newImpact = {
+ movement: {
+ displaced: displaced,
+ amount: amount,
+ isBeyondStartPosition: false
+ },
+ direction: axis.direction,
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: proposedIndex
+ }
+ };
+ return {
+ pageBorderBoxCenter: withDroppableDisplacement(destination, newCenter),
+ impact: newImpact
+ };
+ });
+
+ var moveToNewDroppable = (function (_ref) {
+ var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ destination = _ref.destination,
+ insideDestination = _ref.insideDestination,
+ draggable = _ref.draggable,
+ movingRelativeTo = _ref.movingRelativeTo,
+ home = _ref.home,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var amount = patch(destination.axis.line, draggable.client.marginBox[destination.axis.size]);
+
+ if (destination.descriptor.id === draggable.descriptor.droppableId) {
+ !movingRelativeTo ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'There will always be a target in the original list') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return toHomeList({
+ amount: amount,
+ homeIndex: home.index,
+ movingRelativeTo: movingRelativeTo,
+ insideDestination: insideDestination,
+ draggable: draggable,
+ destination: destination,
+ previousImpact: previousImpact,
+ viewport: viewport
+ });
+ }
+
+ return toForeignList({
+ amount: amount,
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ movingRelativeTo: movingRelativeTo,
+ insideDestination: insideDestination,
+ draggable: draggable,
+ destination: destination,
+ previousImpact: previousImpact,
+ viewport: viewport
+ });
+ });
+
+ var moveCrossAxis = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ draggableId = _ref.draggableId,
+ droppableId = _ref.droppableId,
+ home = _ref.home,
+ draggables = _ref.draggables,
+ droppables = _ref.droppables,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport;
+ var draggable = draggables[draggableId];
+ var source = droppables[droppableId];
+ var destination = getBestCrossAxisDroppable({
+ isMovingForward: isMovingForward,
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ source: source,
+ droppables: droppables,
+ viewport: viewport
+ });
+
+ if (!destination) {
+ return null;
+ }
+
+ var insideDestination = getDraggablesInsideDroppable(destination, draggables);
+ var movingRelativeTo = getClosestDraggable({
+ axis: destination.axis,
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ destination: destination,
+ insideDestination: insideDestination,
+ viewport: viewport
+ });
+
+ if (insideDestination.length && !movingRelativeTo) {
+ return null;
+ }
+
+ return moveToNewDroppable({
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ destination: destination,
+ draggable: draggable,
+ movingRelativeTo: movingRelativeTo,
+ insideDestination: insideDestination,
+ home: home,
+ previousImpact: previousImpact || noImpact,
+ viewport: viewport
+ });
+ });
+
+ var isTotallyVisibleInNewLocation = (function (_ref) {
+ var draggable = _ref.draggable,
+ destination = _ref.destination,
+ newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,
+ viewport = _ref.viewport;
+ var diff = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);
+ var shifted = offsetByPosition(draggable.page.borderBox, diff);
+ return isTotallyVisible({
+ target: shifted,
+ destination: destination,
+ viewport: viewport
+ });
+ });
+
+ var withFirstAdded = function withFirstAdded(_ref) {
+ var add = _ref.add,
+ previousImpact = _ref.previousImpact,
+ droppable = _ref.droppable,
+ draggables = _ref.draggables,
+ viewport = _ref.viewport;
+ var newDisplacement = {
+ draggableId: add,
+ isVisible: true,
+ shouldAnimate: true
+ };
+ var added = [newDisplacement].concat(previousImpact.movement.displaced);
+ var withUpdatedVisibility = added.map(function (current) {
+ if (current === newDisplacement) {
+ return current;
+ }
+
+ var updated = getDisplacement({
+ draggable: draggables[current.draggableId],
+ destination: droppable,
+ previousImpact: previousImpact,
+ viewport: viewport.frame
+ });
+ return updated;
+ });
+ return withUpdatedVisibility;
+ };
+
+ var forceVisibleDisplacement = function forceVisibleDisplacement(current) {
+ if (current.isVisible) {
+ return current;
+ }
+
+ return {
+ draggableId: current.draggableId,
+ isVisible: true,
+ shouldAnimate: false
+ };
+ };
+
+ var withFirstRemoved = function withFirstRemoved(_ref2) {
+ var dragging = _ref2.dragging,
+ isVisibleInNewLocation = _ref2.isVisibleInNewLocation,
+ previousImpact = _ref2.previousImpact,
+ droppable = _ref2.droppable,
+ draggables = _ref2.draggables;
+ var last = previousImpact.movement.displaced;
+ !last.length ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot remove displacement from empty list') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var withFirstRestored = last.slice(1, last.length);
+
+ if (!withFirstRestored.length) {
+ return withFirstRestored;
+ }
+
+ if (isVisibleInNewLocation) {
+ return withFirstRestored;
+ }
+
+ var axis = droppable.axis;
+ var sizeOfRestored = draggables[last[0].draggableId].page.marginBox[axis.size];
+ var sizeOfDragging = draggables[dragging].page.marginBox[axis.size];
+ var buffer = sizeOfRestored + sizeOfDragging;
+ var withUpdatedVisibility = withFirstRestored.map(function (displacement, index) {
+ if (index === 0) {
+ return forceVisibleDisplacement(displacement);
+ }
+
+ if (buffer > 0) {
+ var current = draggables[displacement.draggableId];
+ var size = current.page.marginBox[axis.size];
+ buffer -= size;
+ return forceVisibleDisplacement(displacement);
+ }
+
+ return {
+ draggableId: displacement.draggableId,
+ isVisible: false,
+ shouldAnimate: false
+ };
+ });
+ return withUpdatedVisibility;
+ };
+
+ var inHomeList$1 = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ draggableId = _ref.draggableId,
+ previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
+ previousImpact = _ref.previousImpact,
+ droppable = _ref.droppable,
+ draggables = _ref.draggables,
+ viewport = _ref.viewport;
+ var location = previousImpact.destination;
+ !location ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot move to next index in home list when there is no previous destination') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var draggable = draggables[draggableId];
+ var axis = droppable.axis;
+ var insideDroppable = getDraggablesInsideDroppable(droppable, draggables);
+ var startIndex = draggable.descriptor.index;
+ var currentIndex = location.index;
+ var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;
+
+ if (proposedIndex > insideDroppable.length - 1) {
+ return null;
+ }
+
+ if (proposedIndex < 0) {
+ return null;
+ }
+
+ var destination = insideDroppable[proposedIndex];
+ var isMovingTowardStart = isMovingForward && proposedIndex <= startIndex || !isMovingForward && proposedIndex >= startIndex;
+
+ var edge = function () {
+ if (!isMovingTowardStart) {
+ return isMovingForward ? 'end' : 'start';
+ }
+
+ return isMovingForward ? 'start' : 'end';
+ }();
+
+ var newPageBorderBoxCenter = moveToEdge({
+ source: draggable.page.borderBox,
+ sourceEdge: edge,
+ destination: destination.page.borderBox,
+ destinationEdge: edge,
+ destinationAxis: droppable.axis
+ });
+ var isVisibleInNewLocation = isTotallyVisibleInNewLocation({
+ draggable: draggable,
+ destination: droppable,
+ newPageBorderBoxCenter: newPageBorderBoxCenter,
+ viewport: viewport.frame
+ });
+ var displaced = isMovingTowardStart ? withFirstRemoved({
+ dragging: draggableId,
+ isVisibleInNewLocation: isVisibleInNewLocation,
+ previousImpact: previousImpact,
+ droppable: droppable,
+ draggables: draggables
+ }) : withFirstAdded({
+ add: destination.descriptor.id,
+ previousImpact: previousImpact,
+ droppable: droppable,
+ draggables: draggables,
+ viewport: viewport
+ });
+ var newImpact = {
+ movement: {
+ displaced: displaced,
+ amount: patch(axis.line, draggable.page.marginBox[axis.size]),
+ isBeyondStartPosition: proposedIndex > startIndex
+ },
+ destination: {
+ droppableId: droppable.descriptor.id,
+ index: proposedIndex
+ },
+ direction: droppable.axis.direction
+ };
+
+ if (isVisibleInNewLocation) {
+ return {
+ pageBorderBoxCenter: withDroppableDisplacement(droppable, newPageBorderBoxCenter),
+ impact: newImpact,
+ scrollJumpRequest: null
+ };
+ }
+
+ var distance$$1 = subtract(newPageBorderBoxCenter, previousPageBorderBoxCenter);
+ var distanceWithScroll = withDroppableDisplacement(droppable, distance$$1);
+ return {
+ pageBorderBoxCenter: previousPageBorderBoxCenter,
+ impact: newImpact,
+ scrollJumpRequest: distanceWithScroll
+ };
+ });
+
+ var inForeignList$1 = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ draggableId = _ref.draggableId,
+ previousImpact = _ref.previousImpact,
+ previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
+ droppable = _ref.droppable,
+ draggables = _ref.draggables,
+ viewport = _ref.viewport;
+ !previousImpact.destination ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot move to next index where there is no previous destination') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var location = previousImpact.destination;
+ var draggable = draggables[draggableId];
+ var axis = droppable.axis;
+ var insideForeignDroppable = getDraggablesInsideDroppable(droppable, draggables);
+ var currentIndex = location.index;
+ var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;
+ var lastIndex = insideForeignDroppable.length - 1;
+
+ if (proposedIndex > insideForeignDroppable.length) {
+ return null;
+ }
+
+ if (proposedIndex < 0) {
+ return null;
+ }
+
+ var movingRelativeTo = insideForeignDroppable[Math.min(proposedIndex, lastIndex)];
+ var isMovingPastLastIndex = proposedIndex > lastIndex;
+ var sourceEdge = 'start';
+
+ var destinationEdge = function () {
+ if (isMovingPastLastIndex) {
+ return 'end';
+ }
+
+ return 'start';
+ }();
+
+ var newPageBorderBoxCenter = moveToEdge({
+ source: draggable.page.borderBox,
+ sourceEdge: sourceEdge,
+ destination: movingRelativeTo.page.marginBox,
+ destinationEdge: destinationEdge,
+ destinationAxis: droppable.axis
+ });
+ var isVisibleInNewLocation = isTotallyVisibleInNewLocation({
+ draggable: draggable,
+ destination: droppable,
+ newPageBorderBoxCenter: newPageBorderBoxCenter,
+ viewport: viewport.frame
+ });
+
+ var displaced = function () {
+ if (isMovingForward) {
+ return withFirstRemoved({
+ dragging: draggableId,
+ isVisibleInNewLocation: isVisibleInNewLocation,
+ previousImpact: previousImpact,
+ droppable: droppable,
+ draggables: draggables
+ });
+ }
+
+ return withFirstAdded({
+ add: movingRelativeTo.descriptor.id,
+ previousImpact: previousImpact,
+ droppable: droppable,
+ draggables: draggables,
+ viewport: viewport
+ });
+ }();
+
+ var newImpact = {
+ movement: {
+ displaced: displaced,
+ amount: patch(axis.line, draggable.page.marginBox[axis.size]),
+ isBeyondStartPosition: false
+ },
+ destination: {
+ droppableId: droppable.descriptor.id,
+ index: proposedIndex
+ },
+ direction: droppable.axis.direction
+ };
+
+ if (isVisibleInNewLocation) {
+ return {
+ pageBorderBoxCenter: withDroppableDisplacement(droppable, newPageBorderBoxCenter),
+ impact: newImpact,
+ scrollJumpRequest: null
+ };
+ }
+
+ var distanceMoving = subtract(newPageBorderBoxCenter, previousPageBorderBoxCenter);
+ var distanceWithScroll = withDroppableDisplacement(droppable, distanceMoving);
+ return {
+ pageBorderBoxCenter: previousPageBorderBoxCenter,
+ impact: newImpact,
+ scrollJumpRequest: distanceWithScroll
+ };
+ });
+
+ var moveToNextIndex = (function (args) {
+ var draggableId = args.draggableId,
+ draggables = args.draggables,
+ droppable = args.droppable;
+ var draggable = draggables[draggableId];
+ var isInHomeList = draggable.descriptor.droppableId === droppable.descriptor.id;
+
+ if (!droppable.isEnabled) {
+ return null;
+ }
+
+ if (isInHomeList) {
+ return inHomeList$1(args);
+ }
+
+ return inForeignList$1(args);
+ });
+
+ var getClientSelection = function getClientSelection(pageBorderBoxCenter, currentScroll) {
+ return subtract(pageBorderBoxCenter, currentScroll);
+ };
+
+ var moveInDirection = (function (_ref) {
+ var state = _ref.state,
+ type = _ref.type;
+
+ var _ref2 = function () {
+ if (state.impact.destination) {
+ return {
+ droppable: state.dimensions.droppables[state.impact.destination.droppableId],
+ isMainAxisMovementAllowed: true
+ };
+ }
+
+ return {
+ droppable: state.dimensions.droppables[state.critical.droppable.id],
+ isMainAxisMovementAllowed: false
+ };
+ }(),
+ droppable = _ref2.droppable,
+ isMainAxisMovementAllowed = _ref2.isMainAxisMovementAllowed;
+
+ var direction = droppable.axis.direction;
+ var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');
+
+ if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {
+ return null;
+ }
+
+ var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';
+
+ if (isMovingOnMainAxis) {
+ var _result = moveToNextIndex({
+ isMovingForward: isMovingForward,
+ draggableId: state.critical.draggable.id,
+ droppable: droppable,
+ draggables: state.dimensions.draggables,
+ previousPageBorderBoxCenter: state.current.page.borderBoxCenter,
+ previousImpact: state.impact,
+ viewport: state.viewport
+ });
+
+ if (!_result) {
+ return null;
+ }
+
+ return {
+ impact: _result.impact,
+ clientSelection: getClientSelection(_result.pageBorderBoxCenter, state.viewport.scroll.current),
+ scrollJumpRequest: _result.scrollJumpRequest
+ };
+ }
+
+ var home = getHomeLocation(state.critical);
+ var result = moveCrossAxis({
+ isMovingForward: isMovingForward,
+ pageBorderBoxCenter: state.current.page.borderBoxCenter,
+ draggableId: state.critical.draggable.id,
+ droppableId: droppable.descriptor.id,
+ home: home,
+ draggables: state.dimensions.draggables,
+ droppables: state.dimensions.droppables,
+ previousImpact: state.impact,
+ viewport: state.viewport
+ });
+
+ if (!result) {
+ return null;
+ }
+
+ return {
+ clientSelection: getClientSelection(result.pageBorderBoxCenter, state.viewport.scroll.current),
+ impact: result.impact,
+ scrollJumpRequest: null
+ };
+ });
+
+ var scrollViewport = (function (viewport, newScroll) {
+ var diff = subtract(newScroll, viewport.scroll.initial);
+ var displacement = negate(diff);
+ var frame = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["d" /* getRect */])({
+ top: newScroll.y,
+ bottom: newScroll.y + viewport.frame.height,
+ left: newScroll.x,
+ right: newScroll.x + viewport.frame.width
+ });
+ var updated = {
+ frame: frame,
+ scroll: {
+ initial: viewport.scroll.initial,
+ max: viewport.scroll.max,
+ current: newScroll,
+ diff: {
+ value: diff,
+ displacement: displacement
+ }
+ }
+ };
+ return updated;
+ });
+
+ var getHomeImpact = (function (critical, dimensions) {
+ var home = dimensions.droppables[critical.droppable.id];
+ var axis = home.axis;
+ var draggable = dimensions.draggables[critical.draggable.id];
+ return {
+ movement: {
+ displaced: [],
+ isBeyondStartPosition: false,
+ amount: patch(axis.line, draggable.client.marginBox[axis.size])
+ },
+ direction: axis.direction,
+ destination: getHomeLocation(critical)
+ };
+ });
+
+ var getPageItemPositions = (function (client, windowScroll) {
+ return {
+ selection: add(client.selection, windowScroll),
+ borderBoxCenter: add(client.borderBoxCenter, windowScroll),
+ offset: add(client.offset, windowScroll)
+ };
+ });
+
+ function isMovementAllowed(state) {
+ return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';
+ }
+
+ var idle = {
+ phase: 'IDLE'
+ };
+ var preparing = {
+ phase: 'PREPARING'
+ };
+
+ var moveWithPositionUpdates = function moveWithPositionUpdates(_ref) {
+ var state = _ref.state,
+ clientSelection = _ref.clientSelection,
+ shouldAnimate = _ref.shouldAnimate,
+ viewport = _ref.viewport,
+ impact = _ref.impact,
+ scrollJumpRequest = _ref.scrollJumpRequest;
+ var newViewport = viewport || state.viewport;
+ var currentWindowScroll = newViewport.scroll.current;
+
+ var client = function () {
+ var offset = subtract(clientSelection, state.initial.client.selection);
+ return {
+ offset: offset,
+ selection: clientSelection,
+ borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)
+ };
+ }();
+
+ var page = getPageItemPositions(client, currentWindowScroll);
+ var current = {
+ client: client,
+ page: page
+ };
+
+ if (state.phase === 'COLLECTING') {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ phase: 'COLLECTING'
+ }, state, {
+ current: current
+ });
+ }
+
+ var newImpact = impact || getDragImpact({
+ pageBorderBoxCenter: page.borderBoxCenter,
+ draggable: state.dimensions.draggables[state.critical.draggable.id],
+ draggables: state.dimensions.draggables,
+ droppables: state.dimensions.droppables,
+ previousImpact: state.impact,
+ viewport: newViewport
+ });
+
+ var result = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, state, {
+ current: current,
+ shouldAnimate: shouldAnimate,
+ impact: newImpact,
+ scrollJumpRequest: scrollJumpRequest || null,
+ viewport: newViewport
+ });
+
+ return result;
+ };
+
+ var reducer = (function (state, action) {
+ if (state === void 0) {
+ state = idle;
+ }
+
+ if (action.type === 'CLEAN') {
+ return idle;
+ }
+
+ if (action.type === 'PREPARE') {
+ return preparing;
+ }
+
+ if (action.type === 'INITIAL_PUBLISH') {
+ !(state.phase === 'PREPARING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'INITIAL_PUBLISH must come after a PREPARING phase') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var _action$payload = action.payload,
+ critical = _action$payload.critical,
+ client = _action$payload.client,
+ viewport = _action$payload.viewport,
+ dimensions = _action$payload.dimensions,
+ autoScrollMode = _action$payload.autoScrollMode;
+ var initial = {
+ client: client,
+ page: {
+ selection: add(client.selection, viewport.scroll.initial),
+ borderBoxCenter: add(client.selection, viewport.scroll.initial),
+ offset: origin
+ }
+ };
+ var result = {
+ phase: 'DRAGGING',
+ isDragging: true,
+ critical: critical,
+ autoScrollMode: autoScrollMode,
+ dimensions: dimensions,
+ initial: initial,
+ current: initial,
+ impact: getHomeImpact(critical, dimensions),
+ viewport: viewport,
+ scrollJumpRequest: null,
+ shouldAnimate: false
+ };
+ return result;
+ }
+
+ if (action.type === 'COLLECTION_STARTING') {
+ var _extends2;
+
+ if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {
+ return state;
+ }
+
+ !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Collection cannot start from phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ var _result = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ phase: 'COLLECTING'
+ }, state, (_extends2 = {}, _extends2["phase"] = 'COLLECTING', _extends2));
+
+ return _result;
+ }
+
+ if (action.type === 'PUBLISH') {
+ !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Unexpected " + action.type + " received in phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Dynamic additions and removals of Draggable and Droppable components\n is currently not supported. But will be soon!") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false);
+ }
+
+ if (action.type === 'MOVE') {
+ if (state.phase === 'PREPARING') {
+ return state;
+ }
+
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
+
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, action.type + " not permitted in phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var _action$payload2 = action.payload,
+ _client = _action$payload2.client,
+ shouldAnimate = _action$payload2.shouldAnimate;
+
+ if (state.shouldAnimate === shouldAnimate && isEqual(_client, state.current.client.selection)) {
+ return state;
+ }
+
+ var impact = state.autoScrollMode === 'JUMP' ? state.impact : null;
+ return moveWithPositionUpdates({
+ state: state,
+ clientSelection: _client,
+ impact: impact,
+ shouldAnimate: shouldAnimate
+ });
+ }
+
+ if (action.type === 'UPDATE_DROPPABLE_SCROLL') {
+ var _extends3, _extends4;
+
+ if (state.phase === 'PREPARING') {
+ return state;
+ }
+
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
+
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, action.type + " not permitted in phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var _action$payload3 = action.payload,
+ id = _action$payload3.id,
+ offset = _action$payload3.offset;
+ var target = state.dimensions.droppables[id];
+
+ if (!target) {
+ return state;
+ }
+
+ var updated = scrollDroppable(target, offset);
+
+ var _dimensions = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, state.dimensions, {
+ droppables: Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, state.dimensions.droppables, (_extends3 = {}, _extends3[id] = updated, _extends3))
+ });
+
+ var _impact = function () {
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (state.autoScrollMode === 'JUMP') {
+ return state.impact;
+ }
+
+ return getDragImpact({
+ pageBorderBoxCenter: state.current.page.borderBoxCenter,
+ draggable: _dimensions.draggables[state.critical.draggable.id],
+ draggables: _dimensions.draggables,
+ droppables: _dimensions.droppables,
+ previousImpact: state.impact,
+ viewport: state.viewport
+ });
+ }();
+
+ return Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ phase: 'DRAGGING'
+ }, state, (_extends4 = {}, _extends4["phase"] = state.phase, _extends4.impact = _impact, _extends4.dimensions = _dimensions, _extends4.scrollJumpRequest = null, _extends4));
+ }
+
+ if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {
+ var _extends5, _extends6;
+
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
+
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Attempting to move in an unsupported phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var _action$payload4 = action.payload,
+ _id = _action$payload4.id,
+ isEnabled = _action$payload4.isEnabled;
+ var _target = state.dimensions.droppables[_id];
+ !_target ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot find Droppable[id: " + _id + "] to toggle its enabled state") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Trying to set droppable isEnabled to " + String(isEnabled) + "\n but it is already " + String(_target.isEnabled)) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ var _updated = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, _target, {
+ isEnabled: isEnabled
+ });
+
+ var _dimensions2 = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, state.dimensions, {
+ droppables: Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, state.dimensions.droppables, (_extends5 = {}, _extends5[_id] = _updated, _extends5))
+ });
+
+ var _impact2 = getDragImpact({
+ pageBorderBoxCenter: state.current.page.borderBoxCenter,
+ draggable: _dimensions2.draggables[state.critical.draggable.id],
+ draggables: _dimensions2.draggables,
+ droppables: _dimensions2.droppables,
+ previousImpact: state.impact,
+ viewport: state.viewport
+ });
+
+ return Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ phase: 'DRAGGING'
+ }, state, (_extends6 = {}, _extends6["phase"] = state.phase, _extends6.impact = _impact2, _extends6.dimensions = _dimensions2, _extends6));
+ }
+
+ if (action.type === 'MOVE_BY_WINDOW_SCROLL') {
+ if (state.phase === 'PREPARING') {
+ return state;
+ }
+
+ if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {
+ return state;
+ }
+
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot move by window in phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var newScroll = action.payload.scroll;
+
+ if (isEqual(state.viewport.scroll.current, newScroll)) {
+ return state;
+ }
+
+ var isJumpScrolling = state.autoScrollMode === 'JUMP';
+
+ var _impact3 = isJumpScrolling ? state.impact : null;
+
+ var _viewport = scrollViewport(state.viewport, newScroll);
+
+ return moveWithPositionUpdates({
+ state: state,
+ clientSelection: state.current.client.selection,
+ viewport: _viewport,
+ shouldAnimate: false,
+ impact: _impact3
+ });
+ }
+
+ if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {
+ var _extends7;
+
+ !state.isDragging ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot update the max viewport scroll if not dragging') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var existing = state.viewport;
+
+ var _viewport2 = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, existing, {
+ scroll: Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, existing.scroll, {
+ max: action.payload
+ })
+ });
+
+ return Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ phase: 'DRAGGING'
+ }, state, (_extends7 = {}, _extends7["phase"] = state.phase, _extends7.viewport = _viewport2, _extends7));
+ }
+
+ if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {
+ if (state.phase === 'PREPARING') {
+ return state;
+ }
+
+ if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {
+ return state;
+ }
+
+ !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, action.type + " received while not in DRAGGING phase") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ var _result2 = moveInDirection({
+ state: state,
+ type: action.type
+ });
+
+ if (!_result2) {
+ return state;
+ }
+
+ return moveWithPositionUpdates({
+ state: state,
+ impact: _result2.impact,
+ clientSelection: _result2.clientSelection,
+ shouldAnimate: true,
+ scrollJumpRequest: _result2.scrollJumpRequest
+ });
+ }
+
+ if (action.type === 'DROP_PENDING') {
+ var _extends8;
+
+ var reason = action.payload.reason;
+ !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ var newState = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ phase: 'DROP_PENDING'
+ }, state, (_extends8 = {}, _extends8["phase"] = 'DROP_PENDING', _extends8.isWaiting = true, _extends8.reason = reason, _extends8));
+
+ return newState;
+ }
+
+ if (action.type === 'DROP_ANIMATE') {
+ var pending = action.payload;
+ !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot animate drop from phase " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var _result3 = {
+ phase: 'DROP_ANIMATING',
+ pending: pending,
+ dimensions: state.dimensions
+ };
+ return _result3;
+ }
+
+ if (action.type === 'DROP_COMPLETE') {
+ return idle;
+ }
+
+ return state;
+ });
+
+ var lift = function lift(args) {
+ return {
+ type: 'LIFT',
+ payload: args
+ };
+ };
+ var initialPublish = function initialPublish(args) {
+ return {
+ type: 'INITIAL_PUBLISH',
+ payload: args
+ };
+ };
+ var publish = function publish(args) {
+ return {
+ type: 'PUBLISH',
+ payload: args
+ };
+ };
+ var collectionStarting = function collectionStarting() {
+ return {
+ type: 'COLLECTION_STARTING',
+ payload: null
+ };
+ };
+ var updateDroppableScroll = function updateDroppableScroll(args) {
+ return {
+ type: 'UPDATE_DROPPABLE_SCROLL',
+ payload: args
+ };
+ };
+ var updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {
+ return {
+ type: 'UPDATE_DROPPABLE_IS_ENABLED',
+ payload: args
+ };
+ };
+ var move = function move(args) {
+ return {
+ type: 'MOVE',
+ payload: args
+ };
+ };
+ var moveByWindowScroll = function moveByWindowScroll(args) {
+ return {
+ type: 'MOVE_BY_WINDOW_SCROLL',
+ payload: args
+ };
+ };
+ var updateViewportMaxScroll = function updateViewportMaxScroll(max) {
+ return {
+ type: 'UPDATE_VIEWPORT_MAX_SCROLL',
+ payload: max
+ };
+ };
+ var moveUp = function moveUp() {
+ return {
+ type: 'MOVE_UP',
+ payload: null
+ };
+ };
+ var moveDown = function moveDown() {
+ return {
+ type: 'MOVE_DOWN',
+ payload: null
+ };
+ };
+ var moveRight = function moveRight() {
+ return {
+ type: 'MOVE_RIGHT',
+ payload: null
+ };
+ };
+ var moveLeft = function moveLeft() {
+ return {
+ type: 'MOVE_LEFT',
+ payload: null
+ };
+ };
+ var clean = function clean() {
+ return {
+ type: 'CLEAN',
+ payload: null
+ };
+ };
+ var prepare = function prepare() {
+ return {
+ type: 'PREPARE',
+ payload: null
+ };
+ };
+ var animateDrop = function animateDrop(pending) {
+ return {
+ type: 'DROP_ANIMATE',
+ payload: pending
+ };
+ };
+ var completeDrop = function completeDrop(result) {
+ return {
+ type: 'DROP_COMPLETE',
+ payload: result
+ };
+ };
+ var drop = function drop(args) {
+ return {
+ type: 'DROP',
+ payload: args
+ };
+ };
+ var dropPending = function dropPending(args) {
+ return {
+ type: 'DROP_PENDING',
+ payload: args
+ };
+ };
+ var dropAnimationFinished = function dropAnimationFinished() {
+ return {
+ type: 'DROP_ANIMATION_FINISHED',
+ payload: null
+ };
+ };
+
+ var lift$1 = (function (getMarshal) {
+ var timeoutId = null;
+
+ var tryAbortCriticalCollection = function tryAbortCriticalCollection() {
+ if (timeoutId == null) {
+ return;
+ }
+
+ clearTimeout(timeoutId);
+ timeoutId = null;
+ };
+
+ return function (_ref) {
+ var getState = _ref.getState,
+ dispatch = _ref.dispatch;
+ return function (next) {
+ return function (action) {
+ if (action.type === 'CLEAN') {
+ tryAbortCriticalCollection();
+ next(action);
+ return;
+ }
+
+ if (action.type !== 'LIFT') {
+ next(action);
+ return;
+ }
+
+ !!timeoutId ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'There should not be a pending complete lift phase when a lift action is fired') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var marshal = getMarshal();
+ var _action$payload = action.payload,
+ id = _action$payload.id,
+ client = _action$payload.client,
+ autoScrollMode = _action$payload.autoScrollMode,
+ viewport = _action$payload.viewport;
+ var initial = getState();
+
+ if (initial.phase === 'DROP_ANIMATING') {
+ dispatch(completeDrop(initial.pending.result));
+ }
+
+ var postFlushState = getState();
+ !(postFlushState.phase === 'IDLE') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Incorrect phase to start a drag') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ dispatch(prepare());
+ timeoutId = setTimeout(function () {
+ timeoutId = null;
+ var state = getState();
+ !(state.phase === 'PREPARING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Invalid phase for completing lift') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var scrollOptions = {
+ shouldPublishImmediately: autoScrollMode === 'JUMP'
+ };
+ var request = {
+ draggableId: id,
+ scrollOptions: scrollOptions
+ };
+
+ var _marshal$startPublish = marshal.startPublishing(request, viewport.scroll.current),
+ critical = _marshal$startPublish.critical,
+ dimensions = _marshal$startPublish.dimensions;
+
+ dispatch(initialPublish({
+ critical: critical,
+ dimensions: dimensions,
+ client: client,
+ autoScrollMode: autoScrollMode,
+ viewport: viewport
+ }));
+ });
+ };
+ };
+ };
+ });
+
+ var style = (function (marshal) {
+ return function () {
+ return function (next) {
+ return function (action) {
+ if (action.type === 'INITIAL_PUBLISH') {
+ marshal.dragging();
+ }
+
+ if (action.type === 'COLLECTION_STARTING') {
+ marshal.collecting();
+ }
+
+ if (action.type === 'PUBLISH') {
+ marshal.dragging();
+ }
+
+ if (action.type === 'DROP_ANIMATE') {
+ marshal.dropping(action.payload.result.reason);
+ }
+
+ if (action.type === 'CLEAN' || action.type === 'DROP_COMPLETE') {
+ marshal.resting();
+ }
+
+ next(action);
+ };
+ };
+ };
+ });
+
+ var getNewHomeClientBorderBoxCenter = (function (_ref) {
+ var movement = _ref.movement,
+ draggable = _ref.draggable,
+ draggables = _ref.draggables,
+ destination = _ref.destination;
+ var originalCenter = draggable.client.borderBox.center;
+
+ if (destination == null) {
+ return originalCenter;
+ }
+
+ var displaced = movement.displaced,
+ isBeyondStartPosition = movement.isBeyondStartPosition;
+ var axis = destination.axis;
+ var isWithinHomeDroppable = destination.descriptor.id === draggable.descriptor.droppableId;
+
+ if (isWithinHomeDroppable && !displaced.length) {
+ return originalCenter;
+ }
+
+ var draggablesInDestination = getDraggablesInsideDroppable(destination, draggables);
+
+ var movingRelativeTo = function () {
+ if (isWithinHomeDroppable) {
+ return draggables[displaced[0].draggableId].client.borderBox;
+ }
+
+ if (displaced.length) {
+ return draggables[displaced[0].draggableId].client.borderBox;
+ }
+
+ if (draggablesInDestination.length) {
+ return draggablesInDestination[draggablesInDestination.length - 1].client.marginBox;
+ }
+
+ return destination.client.contentBox;
+ }();
+
+ var _ref2 = function () {
+ if (isWithinHomeDroppable) {
+ if (isBeyondStartPosition) {
+ return {
+ sourceEdge: 'end',
+ destinationEdge: 'end'
+ };
+ }
+
+ return {
+ sourceEdge: 'start',
+ destinationEdge: 'start'
+ };
+ }
+
+ if (!displaced.length && draggablesInDestination.length) {
+ return {
+ sourceEdge: 'start',
+ destinationEdge: 'end'
+ };
+ }
+
+ return {
+ sourceEdge: 'start',
+ destinationEdge: 'start'
+ };
+ }(),
+ sourceEdge = _ref2.sourceEdge,
+ destinationEdge = _ref2.destinationEdge;
+
+ var source = draggable.client.borderBox;
+ var targetCenter = moveToEdge({
+ source: source,
+ sourceEdge: sourceEdge,
+ destination: movingRelativeTo,
+ destinationEdge: destinationEdge,
+ destinationAxis: axis
+ });
+ return targetCenter;
+ });
+
+ var getScrollDisplacement = function getScrollDisplacement(droppable, viewport) {
+ return withDroppableDisplacement(droppable, viewport.scroll.diff.displacement);
+ };
+
+ var drop$1 = (function (_ref) {
+ var getState = _ref.getState,
+ dispatch = _ref.dispatch;
+ return function (next) {
+ return function (action) {
+ if (action.type !== 'DROP') {
+ next(action);
+ return;
+ }
+
+ var state = getState();
+ var reason = action.payload.reason;
+
+ if (state.phase === 'COLLECTING') {
+ dispatch(dropPending({
+ reason: reason
+ }));
+ return;
+ }
+
+ if (state.phase === 'PREPARING') {
+ dispatch(clean());
+ return;
+ }
+
+ if (state.phase === 'IDLE') {
+ return;
+ }
+
+ var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;
+ !!isWaitingForDrop ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'A DROP action occurred while DROP_PENDING and still waiting') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot drop in phase: " + state.phase) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var critical = state.critical;
+ var dimensions = state.dimensions;
+ var impact = reason === 'DROP' ? state.impact : noImpact;
+ var home = dimensions.droppables[state.critical.droppable.id];
+ var draggable = dimensions.draggables[state.critical.draggable.id];
+ var droppable = impact && impact.destination ? dimensions.droppables[impact.destination.droppableId] : null;
+ var source = {
+ index: critical.draggable.index,
+ droppableId: critical.droppable.id
+ };
+ var destination = reason === 'DROP' ? impact.destination : null;
+ var result = {
+ draggableId: draggable.descriptor.id,
+ type: home.descriptor.type,
+ source: source,
+ destination: destination,
+ reason: reason
+ };
+
+ var clientOffset = function () {
+ if (reason === 'CANCEL') {
+ return origin;
+ }
+
+ var newBorderBoxClientCenter = getNewHomeClientBorderBoxCenter({
+ movement: impact.movement,
+ draggable: draggable,
+ draggables: dimensions.draggables,
+ destination: droppable
+ });
+ return subtract(newBorderBoxClientCenter, draggable.client.borderBox.center);
+ }();
+
+ var newHomeOffset = add(clientOffset, getScrollDisplacement(droppable || home, state.viewport));
+ var isAnimationRequired = !isEqual(state.current.client.offset, newHomeOffset);
+ var pending = {
+ newHomeOffset: newHomeOffset,
+ result: result,
+ impact: impact
+ };
+
+ if (isAnimationRequired) {
+ dispatch(animateDrop(pending));
+ return;
+ }
+
+ dispatch(completeDrop(result));
+ };
+ };
+ });
+
+ var onDragStart = function onDragStart(start) {
+ return "\n You have lifted an item in position " + (start.source.index + 1) + ".\n Use the arrow keys to move, space bar to drop, and escape to cancel.\n";
+ };
+
+ var onDragUpdate = function onDragUpdate(update) {
+ if (!update.destination) {
+ return 'You are currently not dragging over a droppable area';
+ }
+
+ if (update.source.droppableId === update.destination.droppableId) {
+ return "You have moved the item to position " + (update.destination.index + 1);
+ }
+
+ return "\n You have moved the item from list " + update.source.droppableId + " in position " + (update.source.index + 1) + "\n to list " + update.destination.droppableId + " in position " + (update.destination.index + 1) + "\n ";
+ };
+
+ var onDragEnd = function onDragEnd(result) {
+ if (result.reason === 'CANCEL') {
+ return "\n Movement cancelled.\n The item has returned to its starting position of " + (result.source.index + 1) + "\n ";
+ }
+
+ if (!result.destination) {
+ return "\n The item has been dropped while not over a droppable location.\n The item has returned to its starting position of " + (result.source.index + 1) + "\n ";
+ }
+
+ if (result.source.droppableId === result.destination.droppableId) {
+ if (result.source.index === result.destination.index) {
+ return "\n You have dropped the item.\n It has been dropped on its starting position of " + (result.source.index + 1) + "\n ";
+ }
+
+ return "\n You have dropped the item.\n It has moved from position " + (result.source.index + 1) + " to " + (result.destination.index + 1) + "\n ";
+ }
+
+ return "\n You have dropped the item.\n It has moved from position " + (result.source.index + 1) + " in list " + result.source.droppableId + "\n to position " + (result.destination.index + 1) + " in list " + result.destination.droppableId + "\n ";
+ };
+
+ var preset = {
+ onDragStart: onDragStart,
+ onDragUpdate: onDragUpdate,
+ onDragEnd: onDragEnd
+ };
+
+ var records = {};
+ var flag = '__react-beautiful-dnd-debug-timings-hook__';
+
+ var isTimingsEnabled = function isTimingsEnabled() {
+ return Boolean(window[flag]);
+ };
+
+ var start = function start(key) {
+ if (process.env.NODE_ENV !== 'production') {
+ if (!isTimingsEnabled()) {
+ return;
+ }
+
+ var now = performance.now();
+ records[key] = now;
+ }
+ };
+ var finish = function finish(key) {
+ if (process.env.NODE_ENV !== 'production') {
+ if (!isTimingsEnabled()) {
+ return;
+ }
+
+ var now = performance.now();
+ var previous = records[key];
+ !previous ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'cannot finish timing as no previous time found') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var result = now - previous;
+ var rounded = result.toFixed(2);
+
+ var style = function () {
+ if (result < 12) {
+ return {
+ textColor: 'green',
+ symbol: '✅'
+ };
+ }
+
+ if (result < 40) {
+ return {
+ textColor: 'orange',
+ symbol: '⚠️'
+ };
+ }
+
+ return {
+ textColor: 'red',
+ symbol: '❌'
+ };
+ }();
+
+ console.log(style.symbol + " %cTiming %c" + rounded + " %cms %c" + key, 'color: blue; font-weight: bold; ', "color: " + style.textColor + "; font-size: 1.1em;", 'color: grey;', 'color: purple; font-weight: bold;');
+ }
+ };
+
+ var withTimings = function withTimings(key, fn) {
+ start(key);
+ fn();
+ finish(key);
+ };
+
+ var areLocationsEqual = function areLocationsEqual(first, second) {
+ if (first == null && second == null) {
+ return true;
+ }
+
+ if (first == null || second == null) {
+ return false;
+ }
+
+ return first.droppableId === second.droppableId && first.index === second.index;
+ };
+
+ var isCriticalEqual = function isCriticalEqual(first, second) {
+ if (first === second) {
+ return true;
+ }
+
+ var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;
+ var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;
+ return isDraggableEqual && isDroppableEqual;
+ };
+
+ var getExpiringAnnounce = function getExpiringAnnounce(announce) {
+ var wasCalled = false;
+ var isExpired = false;
+ setTimeout(function () {
+ isExpired = true;
+ });
+
+ var result = function result(message) {
+ if (wasCalled) {
+ if (process.env.NODE_ENV !== 'production') {
+ console.warn('Announcement already made. Not making a second announcement');
+ }
+
+ return;
+ }
+
+ if (isExpired) {
+ if (process.env.NODE_ENV !== 'production') {
+ console.warn("\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n ");
+ }
+
+ return;
+ }
+
+ wasCalled = true;
+ announce(message);
+ };
+
+ result.wasCalled = function () {
+ return wasCalled;
+ };
+
+ return result;
+ };
+
+ var getDragStart = function getDragStart(critical) {
+ return {
+ draggableId: critical.draggable.id,
+ type: critical.droppable.type,
+ source: {
+ droppableId: critical.droppable.id,
+ index: critical.draggable.index
+ }
+ };
+ };
+
+ var hooks = (function (getHooks, announce) {
+ var execute = function execute(hook, data, getDefaultMessage) {
+ if (!hook) {
+ announce(getDefaultMessage(data));
+ return;
+ }
+
+ var willExpire = getExpiringAnnounce(announce);
+ var provided = {
+ announce: willExpire
+ };
+ hook(data, provided);
+
+ if (!willExpire.wasCalled()) {
+ announce(getDefaultMessage(data));
+ }
+ };
+
+ var publisher = function () {
+ var lastLocation = null;
+ var lastCritical = null;
+ var _isDragStartPublished = false;
+
+ var beforeStart = function beforeStart(critical) {
+ !!_isDragStartPublished ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ withTimings('onBeforeDragStart', function () {
+ var fn = getHooks().onBeforeDragStart;
+
+ if (fn) {
+ fn(getDragStart(critical));
+ }
+ });
+ };
+
+ var start$$1 = function start$$1(critical) {
+ !!_isDragStartPublished ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var data = getDragStart(critical);
+ lastCritical = critical;
+ lastLocation = data.source;
+ _isDragStartPublished = true;
+ withTimings('onDragStart', function () {
+ return execute(getHooks().onDragStart, data, preset.onDragStart);
+ });
+ };
+
+ var move = function move(critical, location) {
+ !(_isDragStartPublished && lastCritical) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot fire onDragMove when onDragStart has not been called') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var hasCriticalChanged = !isCriticalEqual(critical, lastCritical);
+
+ if (hasCriticalChanged) {
+ lastCritical = critical;
+ }
+
+ var hasLocationChanged = !areLocationsEqual(lastLocation, location);
+
+ if (hasLocationChanged) {
+ lastLocation = location;
+ }
+
+ if (!hasCriticalChanged && !hasLocationChanged) {
+ return;
+ }
+
+ var data = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, getDragStart(critical), {
+ destination: location
+ });
+
+ withTimings('onDragUpdate', function () {
+ return execute(getHooks().onDragUpdate, data, preset.onDragUpdate);
+ });
+ };
+
+ var drop = function drop(result) {
+ !_isDragStartPublished ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ _isDragStartPublished = false;
+ lastLocation = null;
+ lastCritical = null;
+ withTimings('onDragEnd', function () {
+ return execute(getHooks().onDragEnd, result, preset.onDragEnd);
+ });
+ };
+
+ var abort = function abort() {
+ !(_isDragStartPublished && lastCritical) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot cancel when onDragStart not fired') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ var result = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, getDragStart(lastCritical), {
+ destination: null,
+ reason: 'CANCEL'
+ });
+
+ drop(result);
+ };
+
+ return {
+ beforeStart: beforeStart,
+ start: start$$1,
+ move: move,
+ drop: drop,
+ abort: abort,
+ isDragStartPublished: function isDragStartPublished() {
+ return _isDragStartPublished;
+ }
+ };
+ }();
+
+ return function (store) {
+ return function (next) {
+ return function (action) {
+ if (action.type === 'INITIAL_PUBLISH') {
+ var critical = action.payload.critical;
+ publisher.beforeStart(critical);
+ next(action);
+ publisher.start(critical);
+ return;
+ }
+
+ next(action);
+
+ if (action.type === 'DROP_COMPLETE') {
+ var result = action.payload;
+ publisher.drop(result);
+ return;
+ }
+
+ if (action.type === 'CLEAN') {
+ if (publisher.isDragStartPublished()) {
+ publisher.abort();
+ }
+
+ return;
+ }
+
+ if (!publisher.isDragStartPublished()) {
+ return;
+ }
+
+ var state = store.getState();
+
+ if (state.phase === 'DRAGGING') {
+ publisher.move(state.critical, state.impact.destination);
+ }
+ };
+ };
+ };
+ });
+
+ var dropAnimationFinish = (function (store) {
+ return function (next) {
+ return function (action) {
+ if (action.type !== 'DROP_ANIMATION_FINISHED') {
+ next(action);
+ return;
+ }
+
+ var state = store.getState();
+ !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot finish a drop animating when no drop is occurring') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ store.dispatch(completeDrop(state.pending.result));
+ };
+ };
+ });
+
+ var dimensionMarshalStopper = (function (getMarshal) {
+ return function () {
+ return function (next) {
+ return function (action) {
+ if (action.type === 'DROP_COMPLETE' || action.type === 'CLEAN' || action.type === 'DROP_ANIMATE') {
+ var marshal = getMarshal();
+ marshal.stopPublishing();
+ }
+
+ next(action);
+ };
+ };
+ };
+ });
+
+ var shouldCancel = function shouldCancel(action) {
+ return action.type === 'CANCEL' || action.type === 'DROP_ANIMATE' || action.type === 'DROP' || action.type === 'DROP_COMPLETE' || action.type === 'COLLECTION_STARTING';
+ };
+
+ var autoScroll = (function (getScroller) {
+ return function (store) {
+ return function (next) {
+ return function (action) {
+ if (shouldCancel(action)) {
+ getScroller().cancel();
+ next(action);
+ return;
+ }
+
+ next(action);
+ var state = store.getState();
+
+ if (state.phase !== 'DRAGGING') {
+ return;
+ }
+
+ if (state.autoScrollMode === 'FLUID') {
+ getScroller().fluidScroll(state);
+ return;
+ }
+
+ if (!state.scrollJumpRequest) {
+ return;
+ }
+
+ getScroller().jumpScroll(state);
+ };
+ };
+ };
+ });
+
+ var shouldCheckOnAction = function shouldCheckOnAction(action) {
+ return action.type === 'MOVE' || action.type === 'MOVE_UP' || action.type === 'MOVE_RIGHT' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_BY_WINDOW_SCROLL';
+ };
+
+ var hasDroppableOverChanged = function hasDroppableOverChanged(previous, current) {
+ if (!previous) {
+ return Boolean(current);
+ }
+
+ if (!current) {
+ return Boolean(previous);
+ }
+
+ return previous.droppableId !== current.droppableId;
+ };
+
+ var getNewMaxScroll = function getNewMaxScroll(previous, current, action) {
+ if (!shouldCheckOnAction(action)) {
+ return null;
+ }
+
+ if (!isMovementAllowed(previous) || !isMovementAllowed(current)) {
+ return null;
+ }
+
+ if (!hasDroppableOverChanged(previous.impact.destination, current.impact.destination)) {
+ return null;
+ }
+
+ var viewport = current.viewport;
+ var doc = document.documentElement;
+ !doc ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Could not find document.documentElement') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var maxScroll = getMaxScroll({
+ scrollHeight: doc.scrollHeight,
+ scrollWidth: doc.scrollWidth,
+ width: viewport.frame.width,
+ height: viewport.frame.height
+ });
+
+ if (isEqual(maxScroll, viewport.scroll.max)) {
+ return null;
+ }
+
+ return maxScroll;
+ };
+
+ var maxScrollUpdater = (function (store) {
+ return function (next) {
+ return function (action) {
+ var previous = store.getState();
+ next(action);
+ var current = store.getState();
+ var maxScroll = getNewMaxScroll(previous, current, action);
+
+ if (maxScroll) {
+ next(updateViewportMaxScroll(maxScroll));
+ }
+ };
+ };
+ });
+
+ var composeEnhancers = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : __WEBPACK_IMPORTED_MODULE_5_redux__["c" /* compose */];
+ var createStore$1 = (function (_ref) {
+ var getDimensionMarshal = _ref.getDimensionMarshal,
+ styleMarshal = _ref.styleMarshal,
+ getHooks = _ref.getHooks,
+ announce = _ref.announce,
+ getScroller = _ref.getScroller;
+ return Object(__WEBPACK_IMPORTED_MODULE_5_redux__["d" /* createStore */])(reducer, composeEnhancers(Object(__WEBPACK_IMPORTED_MODULE_5_redux__["a" /* applyMiddleware */])(style(styleMarshal), dimensionMarshalStopper(getDimensionMarshal), lift$1(getDimensionMarshal), drop$1, dropAnimationFinish, maxScrollUpdater, autoScroll(getScroller), hooks(getHooks, announce))));
+ });
+
+ var getEmptyMap = function getEmptyMap() {
+ return {
+ draggables: {},
+ droppables: {}
+ };
+ };
+
+ var timingKey = 'Publish collection from DOM';
+ var createPublisher = (function (_ref) {
+ var getProvided = _ref.getProvided,
+ callbacks = _ref.callbacks;
+
+ var advancedUsageWarning = function () {
+ if (process.env.NODE_ENV === 'production') {
+ return function () {};
+ }
+
+ var hasAnnounced = false;
+ return function () {
+ if (hasAnnounced) {
+ return;
+ }
+
+ hasAnnounced = true;
+
+ if (process.env.NODE_ENV === 'production') {
+ return;
+ }
+
+ console.warn("\n Advanced usage warning: you are adding or removing a dimension during a drag\n This an advanced feature used to support dynamic interactions such as lazy loading lists.\n\n Keep in mind the following restrictions:\n\n - Draggable's can only be added to Droppable's that are scroll containers\n - Adding a Droppable cannot impact the placement of other Droppables\n (it cannot push a Droppable on the page)\n\n (This warning will be stripped in production builds)\n ".trim());
+ };
+ }();
+
+ var additions = getEmptyMap();
+ var removals = getEmptyMap();
+ var frameId = null;
+
+ var reset = function reset() {
+ additions = getEmptyMap();
+ removals = getEmptyMap();
+ };
+
+ var collect = function collect() {
+ advancedUsageWarning();
+
+ if (frameId) {
+ return;
+ }
+
+ frameId = requestAnimationFrame(function () {
+ frameId = null;
+ callbacks.collectionStarting();
+ start(timingKey);
+
+ var _getProvided = getProvided(),
+ entries = _getProvided.entries,
+ collection = _getProvided.collection;
+
+ var windowScroll = collection.initialWindowScroll;
+
+ var draggables = __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(additions.draggables).map(function (id) {
+ return entries.draggables[id].getDimension(windowScroll);
+ });
+
+ var droppables = __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(additions.droppables).map(function (id) {
+ return entries.droppables[id].callbacks.getDimensionAndWatchScroll(windowScroll, collection.scrollOptions);
+ });
+
+ var result = {
+ additions: {
+ draggables: draggables,
+ droppables: droppables
+ },
+ removals: {
+ draggables: __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(removals.draggables),
+ droppables: __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(removals.droppables)
+ }
+ };
+ reset();
+ finish(timingKey);
+ callbacks.publish(result);
+ });
+ };
+
+ var addDraggable = function addDraggable(id) {
+ additions.draggables[id] = true;
+
+ if (removals.draggables[id]) {
+ delete removals.draggables[id];
+ }
+
+ collect();
+ };
+
+ var removeDraggable = function removeDraggable(id) {
+ removals.draggables[id] = true;
+
+ if (additions.draggables[id]) {
+ delete additions.draggables[id];
+ }
+
+ collect();
+ };
+
+ var addDroppable = function addDroppable(id) {
+ additions.droppables[id] = true;
+
+ if (removals.droppables[id]) {
+ delete removals.droppables[id];
+ }
+
+ collect();
+ };
+
+ var removeDroppable = function removeDroppable(id) {
+ removals.droppables[id] = true;
+
+ if (additions.droppables[id]) {
+ delete additions.droppables[id];
+ }
+
+ collect();
+ };
+
+ var stop = function stop() {
+ if (!frameId) {
+ return;
+ }
+
+ cancelAnimationFrame(frameId);
+ frameId = null;
+ reset();
+ };
+
+ return {
+ addDraggable: addDraggable,
+ removeDraggable: removeDraggable,
+ addDroppable: addDroppable,
+ removeDroppable: removeDroppable,
+ stop: stop
+ };
+ });
+
+ var createDimensionMarshal = (function (callbacks) {
+ var entries = {
+ droppables: {},
+ draggables: {}
+ };
+ var collection = null;
+ var publisher = createPublisher({
+ callbacks: {
+ publish: callbacks.publish,
+ collectionStarting: callbacks.collectionStarting
+ },
+ getProvided: function getProvided() {
+ !collection ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot get scroll options when there is no collection') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return {
+ entries: entries,
+ collection: collection
+ };
+ }
+ });
+
+ var registerDraggable = function registerDraggable(descriptor, getDimension) {
+ var entry = {
+ descriptor: descriptor,
+ getDimension: getDimension
+ };
+ entries.draggables[descriptor.id] = entry;
+
+ if (!collection) {
+ return;
+ }
+
+ if (collection.critical.draggable.type !== descriptor.type) {
+ return;
+ }
+
+ publisher.addDraggable(descriptor.id);
+ };
+
+ var updateDraggable = function updateDraggable(previous, descriptor, getDimension) {
+ !entries.draggables[previous.id] ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot update draggable registration as no previous registration was found') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ delete entries.draggables[previous.id];
+ var entry = {
+ descriptor: descriptor,
+ getDimension: getDimension
+ };
+ entries.draggables[descriptor.id] = entry;
+ };
+
+ var unregisterDraggable = function unregisterDraggable(descriptor) {
+ var entry = entries.draggables[descriptor.id];
+ !entry ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot unregister Draggable with id " + descriptor.id + " as it is not registered") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (entry.descriptor !== descriptor) {
+ return;
+ }
+
+ delete entries.draggables[descriptor.id];
+
+ if (!collection) {
+ return;
+ }
+
+ !(collection.critical.draggable.id !== descriptor.id) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot remove the dragging item during a drag') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (descriptor.type !== collection.critical.draggable.type) {
+ return;
+ }
+
+ publisher.removeDraggable(descriptor.id);
+ };
+
+ var registerDroppable = function registerDroppable(descriptor, droppableCallbacks) {
+ var id = descriptor.id;
+ entries.droppables[id] = {
+ descriptor: descriptor,
+ callbacks: droppableCallbacks
+ };
+
+ if (!collection) {
+ return;
+ }
+
+ if (descriptor.type !== collection.critical.droppable.type) {
+ return;
+ }
+
+ publisher.addDroppable(id);
+ };
+
+ var updateDroppable = function updateDroppable(previous, descriptor, droppableCallbacks) {
+ !entries.droppables[previous.id] ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot update droppable registration as no previous registration was found') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ delete entries.droppables[previous.id];
+ var entry = {
+ descriptor: descriptor,
+ callbacks: droppableCallbacks
+ };
+ entries.droppables[descriptor.id] = entry;
+
+ if (collection) {
+ process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'You are not able to update the id or type of a droppable during a drag') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false);
+ }
+ };
+
+ var unregisterDroppable = function unregisterDroppable(descriptor) {
+ var entry = entries.droppables[descriptor.id];
+ !entry ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot unregister Droppable with id " + descriptor.id + " as as it is not registered") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (entry.descriptor !== descriptor) {
+ return;
+ }
+
+ delete entries.droppables[descriptor.id];
+
+ if (!collection) {
+ return;
+ }
+
+ !(collection.critical.droppable.id !== descriptor.id) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot remove the home Droppable during a drag') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (collection.critical.droppable.type !== descriptor.type) {
+ return;
+ }
+
+ publisher.removeDroppable(descriptor.id);
+ };
+
+ var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {
+ !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot update the scroll on Droppable " + id + " as it is not registered") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ callbacks.updateDroppableIsEnabled({
+ id: id,
+ isEnabled: isEnabled
+ });
+ };
+
+ var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {
+ !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot update the scroll on Droppable " + id + " as it is not registered") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ callbacks.updateDroppableScroll({
+ id: id,
+ offset: newScroll
+ });
+ };
+
+ var scrollDroppable = function scrollDroppable(id, change) {
+ var entry = entries.droppables[id];
+ !entry ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "Cannot scroll Droppable " + id + " as it is not registered") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ entry.callbacks.scroll(change);
+ };
+
+ var getInitialPublish = function getInitialPublish(args) {
+ var critical = args.critical,
+ scrollOptions = args.scrollOptions,
+ windowScroll = args.initialWindowScroll;
+ var timingKey = 'Initial collection from DOM';
+ start(timingKey);
+ var home = critical.droppable;
+
+ var droppables = __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(entries.droppables).map(function (id) {
+ return entries.droppables[id];
+ }).filter(function (entry) {
+ return entry.descriptor.type === home.type;
+ }).map(function (entry) {
+ return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);
+ }).reduce(function (previous, dimension) {
+ previous[dimension.descriptor.id] = dimension;
+ return previous;
+ }, {});
+
+ var draggables = __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(entries.draggables).map(function (id) {
+ return entries.draggables[id];
+ }).filter(function (entry) {
+ return entry.descriptor.type === critical.draggable.type;
+ }).map(function (entry) {
+ return entry.getDimension(windowScroll);
+ }).reduce(function (previous, dimension) {
+ previous[dimension.descriptor.id] = dimension;
+ return previous;
+ }, {});
+
+ finish(timingKey);
+ var dimensions = {
+ draggables: draggables,
+ droppables: droppables
+ };
+ var result = {
+ dimensions: dimensions,
+ critical: critical
+ };
+ return result;
+ };
+
+ var stopPublishing = function stopPublishing() {
+ if (!collection) {
+ return;
+ }
+
+ publisher.stop();
+ var home = collection.critical.droppable;
+
+ __WEBPACK_IMPORTED_MODULE_3__babel_runtime_corejs2_core_js_object_keys___default()(entries.droppables).filter(function (id) {
+ return entries.droppables[id].descriptor.type === home.type;
+ }).forEach(function (id) {
+ return entries.droppables[id].callbacks.unwatchScroll();
+ });
+
+ collection = null;
+ };
+
+ var startPublishing = function startPublishing(request, windowScroll) {
+ !!collection ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot start capturing critical dimensions as there is already a collection') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var entry = entries.draggables[request.draggableId];
+ !entry ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot find critical draggable entry') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var home = entries.droppables[entry.descriptor.droppableId];
+ !home ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot find critical droppable entry') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var critical = {
+ draggable: entry.descriptor,
+ droppable: home.descriptor
+ };
+ collection = {
+ scrollOptions: request.scrollOptions,
+ critical: critical,
+ initialWindowScroll: windowScroll
+ };
+ return getInitialPublish(collection);
+ };
+
+ var marshal = {
+ registerDraggable: registerDraggable,
+ updateDraggable: updateDraggable,
+ unregisterDraggable: unregisterDraggable,
+ registerDroppable: registerDroppable,
+ updateDroppable: updateDroppable,
+ unregisterDroppable: unregisterDroppable,
+ updateDroppableIsEnabled: updateDroppableIsEnabled,
+ scrollDroppable: scrollDroppable,
+ updateDroppableScroll: updateDroppableScroll,
+ startPublishing: startPublishing,
+ stopPublishing: stopPublishing
+ };
+ return marshal;
+ });
+
+ var physics = function () {
+ var base = {
+ stiffness: 1000,
+ damping: 60,
+ precision: 0.99
+ };
+
+ var standard = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, base);
+
+ var fast = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, base, {
+ stiffness: base.stiffness * 2
+ });
+
+ return {
+ standard: standard,
+ fast: fast
+ };
+ }();
+ var css = {
+ outOfTheWay: 'transform 0.2s cubic-bezier(0.2, 0, 0, 1)'
+ };
+
+ var prefix = 'data-react-beautiful-dnd';
+ var dragHandle = prefix + "-drag-handle";
+ var draggable = prefix + "-draggable";
+ var droppable = prefix + "-droppable";
+
+ var getStyles = (function (styleContext) {
+ var dragHandleSelector = "[" + dragHandle + "=\"" + styleContext + "\"]";
+ var draggableSelector = "[" + draggable + "=\"" + styleContext + "\"]";
+ var droppableSelector = "[" + droppable + "=\"" + styleContext + "\"]";
+ var dragHandleStyles = {
+ base: "\n " + dragHandleSelector + " {\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n touch-action: manipulation;\n }\n ",
+ grabCursor: "\n " + dragHandleSelector + " {\n cursor: -webkit-grab;\n cursor: grab;\n }\n ",
+ blockPointerEvents: "\n " + dragHandleSelector + " {\n pointer-events: none;\n }\n "
+ };
+ var draggableStyles = {
+ animateMovement: "\n " + draggableSelector + " {\n transition: " + css.outOfTheWay + ";\n }\n "
+ };
+ var droppableStyles = {
+ base: "\n " + droppableSelector + " {\n overflow-anchor: none;\n }\n "
+ };
+ var bodyStyles = {
+ whileActiveDragging: "\n body {\n cursor: grabbing;\n cursor: -webkit-grabbing;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n }\n "
+ };
+ var base = [dragHandleStyles.base, droppableStyles.base];
+ var resting = base.concat([dragHandleStyles.grabCursor]);
+ var collecting = base.concat([dragHandleStyles.blockPointerEvents, bodyStyles.whileActiveDragging]);
+ var dragging = collecting.concat([draggableStyles.animateMovement]);
+ var dropAnimating = base.concat([dragHandleStyles.grabCursor, draggableStyles.animateMovement]);
+ var userCancel = base.concat([draggableStyles.animateMovement]);
+ return {
+ resting: resting.join(''),
+ dragging: dragging.join(''),
+ dropAnimating: dropAnimating.join(''),
+ collecting: collecting.join(''),
+ userCancel: userCancel.join('')
+ };
+ });
+
+ var count = 0;
+ var resetStyleContext = function resetStyleContext() {
+ count = 0;
+ };
+
+ var getHead = function getHead() {
+ var head = document.querySelector('head');
+ !head ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot find the head to append a style to') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return head;
+ };
+
+ var createStyleMarshal = (function () {
+ var context = "" + count++;
+ var styles = getStyles(context);
+ var el = null;
+ var setStyle = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (proposed) {
+ !el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot set style of style tag if not mounted') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ el.innerHTML = proposed;
+ });
+
+ var mount = function mount() {
+ !!el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Style marshal already mounted') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ el = document.createElement('style');
+ el.type = 'text/css';
+ el.setAttribute(prefix, context);
+ getHead().appendChild(el);
+ setStyle(styles.resting);
+ };
+
+ var collecting = function collecting() {
+ return setStyle(styles.collecting);
+ };
+
+ var dragging = function dragging() {
+ return setStyle(styles.dragging);
+ };
+
+ var dropping = function dropping(reason) {
+ if (reason === 'DROP') {
+ setStyle(styles.dropAnimating);
+ return;
+ }
+
+ setStyle(styles.userCancel);
+ };
+
+ var resting = function resting() {
+ return setStyle(styles.resting);
+ };
+
+ var unmount = function unmount() {
+ !el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot unmount style marshal as it is already unmounted') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ getHead().removeChild(el);
+ el = null;
+ };
+
+ var marshal = {
+ collecting: collecting,
+ dragging: dragging,
+ dropping: dropping,
+ resting: resting,
+ styleContext: context,
+ mount: mount,
+ unmount: unmount
+ };
+ return marshal;
+ });
+
+ var canStartDrag = (function (state, id) {
+ if (state.phase === 'IDLE') {
+ return true;
+ }
+
+ if (state.phase !== 'DROP_ANIMATING') {
+ return false;
+ }
+
+ if (state.pending.result.draggableId === id) {
+ return false;
+ }
+
+ return state.pending.result.reason === 'DROP';
+ });
+
+ var scrollWindow = (function (change) {
+ window.scrollBy(change.x, change.y);
+ });
+
+ var count$1 = 0;
+ var visuallyHidden = {
+ position: 'absolute',
+ width: '1px',
+ height: '1px',
+ margin: '-1px',
+ border: '0',
+ padding: '0',
+ overflow: 'hidden',
+ clip: 'rect(0 0 0 0)',
+ 'clip-path': 'inset(100%)'
+ };
+
+ var getBody = function getBody() {
+ !document.body ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Announcer cannot find document.body') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return document.body;
+ };
+
+ var createAnnouncer = (function () {
+ var id = "react-beautiful-dnd-announcement-" + count$1++;
+ var el = null;
+
+ var announce = function announce(message) {
+ !el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot announce to unmounted node') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ el.textContent = message;
+ };
+
+ var mount = function mount() {
+ !!el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Announcer already mounted') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ el = document.createElement('div');
+ el.id = id;
+ el.setAttribute('aria-live', 'assertive');
+ el.setAttribute('role', 'log');
+ el.setAttribute('aria-atomic', 'true');
+
+ __WEBPACK_IMPORTED_MODULE_6__babel_runtime_corejs2_core_js_object_assign___default()(el.style, visuallyHidden);
+
+ getBody().appendChild(el);
+ };
+
+ var unmount = function unmount() {
+ !el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Will not unmount annoucer as it is already unmounted') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ getBody().removeChild(el);
+ el = null;
+ };
+
+ var announcer = {
+ announce: announce,
+ id: id,
+ mount: mount,
+ unmount: unmount
+ };
+ return announcer;
+ });
+
+ var getScrollableDroppables = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (droppables) {
+ return toDroppableList(droppables).filter(function (droppable) {
+ if (!droppable.isEnabled) {
+ return false;
+ }
+
+ if (!droppable.viewport.closestScrollable) {
+ return false;
+ }
+
+ return true;
+ });
+ });
+
+ var getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {
+ var maybe = getScrollableDroppables(droppables).find(function (droppable) {
+ !droppable.viewport.closestScrollable ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Invalid result') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return isPositionInFrame(droppable.viewport.closestScrollable.framePageMarginBox)(target);
+ });
+ return maybe;
+ };
+
+ var getBestScrollableDroppable = (function (_ref) {
+ var center = _ref.center,
+ destination = _ref.destination,
+ droppables = _ref.droppables;
+
+ if (destination) {
+ var _dimension = droppables[destination.droppableId];
+
+ if (!_dimension.viewport.closestScrollable) {
+ return null;
+ }
+
+ return _dimension;
+ }
+
+ var dimension = getScrollableDroppableOver(center, droppables);
+ return dimension;
+ });
+
+ var smallestSigned = apply(function (value) {
+ if (value === 0) {
+ return 0;
+ }
+
+ return value > 0 ? 1 : -1;
+ });
+ var getOverlap = function () {
+ var getRemainder = function getRemainder(target, max) {
+ if (target < 0) {
+ return target;
+ }
+
+ if (target > max) {
+ return target - max;
+ }
+
+ return 0;
+ };
+
+ return function (_ref) {
+ var current = _ref.current,
+ max = _ref.max,
+ change = _ref.change;
+ var targetScroll = add(current, change);
+ var overlap = {
+ x: getRemainder(targetScroll.x, max.x),
+ y: getRemainder(targetScroll.y, max.y)
+ };
+
+ if (isEqual(overlap, origin)) {
+ return null;
+ }
+
+ return overlap;
+ };
+ }();
+ var canPartiallyScroll = function canPartiallyScroll(_ref2) {
+ var rawMax = _ref2.max,
+ current = _ref2.current,
+ change = _ref2.change;
+ var max = {
+ x: Math.max(current.x, rawMax.x),
+ y: Math.max(current.y, rawMax.y)
+ };
+ var smallestChange = smallestSigned(change);
+ var overlap = getOverlap({
+ max: max,
+ current: current,
+ change: smallestChange
+ });
+
+ if (!overlap) {
+ return true;
+ }
+
+ if (smallestChange.x !== 0 && overlap.x === 0) {
+ return true;
+ }
+
+ if (smallestChange.y !== 0 && overlap.y === 0) {
+ return true;
+ }
+
+ return false;
+ };
+ var canScrollWindow = function canScrollWindow(viewport, change) {
+ return canPartiallyScroll({
+ current: viewport.scroll.current,
+ max: viewport.scroll.max,
+ change: change
+ });
+ };
+ var getWindowOverlap = function getWindowOverlap(viewport, change) {
+ if (!canScrollWindow(viewport, change)) {
+ return null;
+ }
+
+ var max = viewport.scroll.max;
+ var current = viewport.scroll.current;
+ return getOverlap({
+ current: current,
+ max: max,
+ change: change
+ });
+ };
+ var canScrollDroppable = function canScrollDroppable(droppable, change) {
+ var closest$$1 = droppable.viewport.closestScrollable;
+
+ if (!closest$$1) {
+ return false;
+ }
+
+ return canPartiallyScroll({
+ current: closest$$1.scroll.current,
+ max: closest$$1.scroll.max,
+ change: change
+ });
+ };
+ var getDroppableOverlap = function getDroppableOverlap(droppable, change) {
+ var closest$$1 = droppable.viewport.closestScrollable;
+
+ if (!closest$$1) {
+ return null;
+ }
+
+ if (!canScrollDroppable(droppable, change)) {
+ return null;
+ }
+
+ return getOverlap({
+ current: closest$$1.scroll.current,
+ max: closest$$1.scroll.max,
+ change: change
+ });
+ };
+
+ var config = {
+ startFrom: 0.25,
+ maxSpeedAt: 0.05,
+ maxScrollSpeed: 28,
+ ease: function ease(percentage) {
+ return Math.pow(percentage, 2);
+ }
+ };
+ var clean$1 = apply(function (value) {
+ return value === 0 ? 0 : value;
+ });
+ var getPixelThresholds = function getPixelThresholds(container, axis) {
+ var startFrom = container[axis.size] * config.startFrom;
+ var maxSpeedAt = container[axis.size] * config.maxSpeedAt;
+ var accelerationPlane = startFrom - maxSpeedAt;
+ var thresholds = {
+ startFrom: startFrom,
+ maxSpeedAt: maxSpeedAt,
+ accelerationPlane: accelerationPlane
+ };
+ return thresholds;
+ };
+
+ var getSpeed = function getSpeed(distance$$1, thresholds) {
+ if (distance$$1 >= thresholds.startFrom) {
+ return 0;
+ }
+
+ if (distance$$1 <= thresholds.maxSpeedAt) {
+ return config.maxScrollSpeed;
+ }
+
+ var distancePastStart = thresholds.startFrom - distance$$1;
+ var percentage = distancePastStart / thresholds.accelerationPlane;
+ var transformed = config.ease(percentage);
+ var speed = config.maxScrollSpeed * transformed;
+ return speed;
+ };
+
+ var adjustForSizeLimits = function adjustForSizeLimits(_ref) {
+ var container = _ref.container,
+ subject = _ref.subject,
+ proposedScroll = _ref.proposedScroll;
+ var isTooBigVertically = subject.height > container.height;
+ var isTooBigHorizontally = subject.width > container.width;
+
+ if (!isTooBigHorizontally && !isTooBigVertically) {
+ return proposedScroll;
+ }
+
+ if (isTooBigHorizontally && isTooBigVertically) {
+ return null;
+ }
+
+ return {
+ x: isTooBigHorizontally ? 0 : proposedScroll.x,
+ y: isTooBigVertically ? 0 : proposedScroll.y
+ };
+ };
+
+ var getRequiredScroll = function getRequiredScroll(_ref2) {
+ var container = _ref2.container,
+ subject = _ref2.subject,
+ center = _ref2.center;
+ var distance$$1 = {
+ top: center.y - container.top,
+ right: container.right - center.x,
+ bottom: container.bottom - center.y,
+ left: center.x - container.left
+ };
+
+ var y = function () {
+ var thresholds = getPixelThresholds(container, vertical);
+ var isCloserToBottom = distance$$1.bottom < distance$$1.top;
+
+ if (isCloserToBottom) {
+ return getSpeed(distance$$1.bottom, thresholds);
+ }
+
+ return -1 * getSpeed(distance$$1.top, thresholds);
+ }();
+
+ var x = function () {
+ var thresholds = getPixelThresholds(container, horizontal);
+ var isCloserToRight = distance$$1.right < distance$$1.left;
+
+ if (isCloserToRight) {
+ return getSpeed(distance$$1.right, thresholds);
+ }
+
+ return -1 * getSpeed(distance$$1.left, thresholds);
+ }();
+
+ var required = clean$1({
+ x: x,
+ y: y
+ });
+
+ if (isEqual(required, origin)) {
+ return null;
+ }
+
+ var limited = adjustForSizeLimits({
+ container: container,
+ subject: subject,
+ proposedScroll: required
+ });
+
+ if (!limited) {
+ return null;
+ }
+
+ return isEqual(limited, origin) ? null : limited;
+ };
+
+ var withPlaceholder = function withPlaceholder(droppable, draggable) {
+ var closest$$1 = droppable.viewport.closestScrollable;
+
+ if (!closest$$1) {
+ return null;
+ }
+
+ var isOverHome = droppable.descriptor.id === draggable.descriptor.droppableId;
+ var max = closest$$1.scroll.max;
+ var current = closest$$1.scroll.current;
+
+ if (isOverHome) {
+ return {
+ max: max,
+ current: current
+ };
+ }
+
+ var spaceForPlaceholder = patch(droppable.axis.line, draggable.placeholder.client.borderBox[droppable.axis.size]);
+ var newMax = add(max, spaceForPlaceholder);
+ var newCurrent = {
+ x: Math.min(current.x, newMax.x),
+ y: Math.min(current.y, newMax.y)
+ };
+ return {
+ max: newMax,
+ current: newCurrent
+ };
+ };
+
+ var createFluidScroller = (function (_ref3) {
+ var scrollWindow = _ref3.scrollWindow,
+ scrollDroppable = _ref3.scrollDroppable;
+ var scheduleWindowScroll = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(scrollWindow);
+ var scheduleDroppableScroll = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(scrollDroppable);
+
+ var scroller = function scroller(state) {
+ var center = state.current.page.borderBoxCenter;
+ var draggable = state.dimensions.draggables[state.critical.draggable.id];
+ var subject = draggable.page.marginBox;
+ var viewport = state.viewport;
+ var requiredWindowScroll = getRequiredScroll({
+ container: viewport.frame,
+ subject: subject,
+ center: center
+ });
+
+ if (requiredWindowScroll && canScrollWindow(viewport, requiredWindowScroll)) {
+ scheduleWindowScroll(requiredWindowScroll);
+ return;
+ }
+
+ var droppable = getBestScrollableDroppable({
+ center: center,
+ destination: state.impact.destination,
+ droppables: state.dimensions.droppables
+ });
+
+ if (!droppable) {
+ return;
+ }
+
+ var closestScrollable = droppable.viewport.closestScrollable;
+
+ if (!closestScrollable) {
+ return;
+ }
+
+ var requiredFrameScroll = getRequiredScroll({
+ container: closestScrollable.framePageMarginBox,
+ subject: subject,
+ center: center
+ });
+
+ if (!requiredFrameScroll) {
+ return;
+ }
+
+ var result = withPlaceholder(droppable, draggable);
+
+ if (!result) {
+ return;
+ }
+
+ var closest$$1 = droppable.viewport.closestScrollable;
+
+ if (!closest$$1) {
+ return;
+ }
+
+ var canScrollDroppable$$1 = canPartiallyScroll({
+ current: result.current,
+ max: result.max,
+ change: requiredFrameScroll
+ });
+
+ if (canScrollDroppable$$1) {
+ scheduleDroppableScroll(droppable.descriptor.id, requiredFrameScroll);
+ }
+ };
+
+ scroller.cancel = function () {
+ scheduleWindowScroll.cancel();
+ scheduleDroppableScroll.cancel();
+ };
+
+ return scroller;
+ });
+
+ var createJumpScroller = (function (_ref) {
+ var move = _ref.move,
+ scrollDroppable = _ref.scrollDroppable,
+ scrollWindow = _ref.scrollWindow;
+
+ var moveByOffset = function moveByOffset(state, offset) {
+ var client = add(state.current.client.selection, offset);
+ move({
+ client: client,
+ shouldAnimate: true
+ });
+ };
+
+ var scrollDroppableAsMuchAsItCan = function scrollDroppableAsMuchAsItCan(droppable, change) {
+ if (!canScrollDroppable(droppable, change)) {
+ return change;
+ }
+
+ var overlap = getDroppableOverlap(droppable, change);
+
+ if (!overlap) {
+ scrollDroppable(droppable.descriptor.id, change);
+ return null;
+ }
+
+ var whatTheDroppableCanScroll = subtract(change, overlap);
+ scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);
+ var remainder = subtract(change, whatTheDroppableCanScroll);
+ return remainder;
+ };
+
+ var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(viewport, change) {
+ if (!canScrollWindow(viewport, change)) {
+ return change;
+ }
+
+ var overlap = getWindowOverlap(viewport, change);
+
+ if (!overlap) {
+ scrollWindow(change);
+ return null;
+ }
+
+ var whatTheWindowCanScroll = subtract(change, overlap);
+ scrollWindow(whatTheWindowCanScroll);
+ var remainder = subtract(change, whatTheWindowCanScroll);
+ return remainder;
+ };
+
+ var jumpScroller = function jumpScroller(state) {
+ var request = state.scrollJumpRequest;
+
+ if (!request) {
+ return;
+ }
+
+ var destination = state.impact.destination;
+ !destination ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot perform a jump scroll when there is no destination') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination.droppableId], request);
+
+ if (!droppableRemainder) {
+ return;
+ }
+
+ var viewport = state.viewport;
+ var windowRemainder = scrollWindowAsMuchAsItCan(viewport, droppableRemainder);
+
+ if (!windowRemainder) {
+ return;
+ }
+
+ moveByOffset(state, windowRemainder);
+ };
+
+ return jumpScroller;
+ });
+
+ var createAutoScroller = (function (_ref) {
+ var scrollDroppable = _ref.scrollDroppable,
+ scrollWindow = _ref.scrollWindow,
+ move = _ref.move;
+ var fluidScroll = createFluidScroller({
+ scrollWindow: scrollWindow,
+ scrollDroppable: scrollDroppable
+ });
+ var jumpScroll = createJumpScroller({
+ move: move,
+ scrollWindow: scrollWindow,
+ scrollDroppable: scrollDroppable
+ });
+ var marshal = {
+ cancel: fluidScroll.cancel,
+ fluidScroll: fluidScroll,
+ jumpScroll: jumpScroll
+ };
+ return marshal;
+ });
+
+ var prefix$1 = function prefix(key) {
+ return "private-react-beautiful-dnd-key-do-not-use-" + key;
+ };
+
+ var storeKey = prefix$1('store');
+ var droppableIdKey = prefix$1('droppable-id');
+ var droppableTypeKey = prefix$1('droppable-type');
+ var dimensionMarshalKey = prefix$1('dimension-marshal');
+ var styleContextKey = prefix$1('style-context');
+ var canLiftContextKey = prefix$1('can-lift');
+
+ var _DragDropContext$chil;
+ var resetServerContext = function resetServerContext() {
+ resetStyleContext();
+ };
+
+ var printFatalDevError = function printFatalDevError(error) {
+ if (process.env.NODE_ENV === 'production') {
+ return;
+ }
+
+ console.warn("\n An error has occurred while a drag is occurring.\n Any existing drag will be cancelled.\n\n Raw error:\n ");
+ console.error(error);
+ };
+
+ var DragDropContext = function (_React$Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(DragDropContext, _React$Component);
+
+ function DragDropContext(props, context) {
+ var _this;
+
+ _this = _React$Component.call(this, props, context) || this;
+ _this.store = void 0;
+ _this.dimensionMarshal = void 0;
+ _this.styleMarshal = void 0;
+ _this.autoScroller = void 0;
+ _this.announcer = void 0;
+ _this.unsubscribe = void 0;
+
+ _this.canLift = function (id) {
+ return canStartDrag(_this.store.getState(), id);
+ };
+
+ _this.onFatalError = function (error) {
+ printFatalDevError(error);
+
+ var state = _this.store.getState();
+
+ if (state.phase !== 'IDLE') {
+ _this.store.dispatch(clean());
+ }
+ };
+
+ _this.onWindowError = function (error) {
+ return _this.onFatalError(error);
+ };
+
+ _this.announcer = createAnnouncer();
+ _this.styleMarshal = createStyleMarshal();
+ _this.store = createStore$1({
+ getDimensionMarshal: function getDimensionMarshal() {
+ return _this.dimensionMarshal;
+ },
+ styleMarshal: _this.styleMarshal,
+ getHooks: function getHooks() {
+ return {
+ onBeforeDragStart: _this.props.onBeforeDragStart,
+ onDragStart: _this.props.onDragStart,
+ onDragEnd: _this.props.onDragEnd,
+ onDragUpdate: _this.props.onDragUpdate
+ };
+ },
+ announce: _this.announcer.announce,
+ getScroller: function getScroller() {
+ return _this.autoScroller;
+ }
+ });
+ var callbacks = Object(__WEBPACK_IMPORTED_MODULE_5_redux__["b" /* bindActionCreators */])({
+ collectionStarting: collectionStarting,
+ publish: publish,
+ updateDroppableScroll: updateDroppableScroll,
+ updateDroppableIsEnabled: updateDroppableIsEnabled
+ }, _this.store.dispatch);
+ _this.dimensionMarshal = createDimensionMarshal(callbacks);
+ _this.autoScroller = createAutoScroller(Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({
+ scrollWindow: scrollWindow,
+ scrollDroppable: _this.dimensionMarshal.scrollDroppable
+ }, Object(__WEBPACK_IMPORTED_MODULE_5_redux__["b" /* bindActionCreators */])({
+ move: move
+ }, _this.store.dispatch)));
+ return _this;
+ }
+
+ var _proto = DragDropContext.prototype;
+
+ _proto.getChildContext = function getChildContext() {
+ var _ref;
+
+ return _ref = {}, _ref[storeKey] = this.store, _ref[dimensionMarshalKey] = this.dimensionMarshal, _ref[styleContextKey] = this.styleMarshal.styleContext, _ref[canLiftContextKey] = this.canLift, _ref;
+ };
+
+ _proto.componentDidMount = function componentDidMount() {
+ window.addEventListener('error', this.onWindowError);
+ this.styleMarshal.mount();
+ this.announcer.mount();
+ };
+
+ _proto.componentDidCatch = function componentDidCatch(error) {
+ this.onFatalError(error);
+
+ if (error.message.indexOf('Invariant failed') !== -1) {
+ this.setState({});
+ return;
+ }
+
+ throw error;
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ window.removeEventListener('error', this.onWindowError);
+ var state = this.store.getState();
+
+ if (state.phase !== 'IDLE') {
+ this.store.dispatch(clean());
+ }
+
+ this.styleMarshal.unmount();
+ this.announcer.unmount();
+ };
+
+ _proto.render = function render() {
+ return this.props.children;
+ };
+
+ return DragDropContext;
+ }(__WEBPACK_IMPORTED_MODULE_9_react___default.a.Component);
+
+ DragDropContext.childContextTypes = (_DragDropContext$chil = {}, _DragDropContext$chil[storeKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.shape({
+ dispatch: __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.func.isRequired,
+ subscribe: __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.func.isRequired,
+ getState: __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.func.isRequired
+ }).isRequired, _DragDropContext$chil[dimensionMarshalKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.object.isRequired, _DragDropContext$chil[styleContextKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _DragDropContext$chil[canLiftContextKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.func.isRequired, _DragDropContext$chil);
+
+ var isScrollable = function isScrollable() {
+ for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
+ values[_key] = arguments[_key];
+ }
+
+ return values.some(function (value) {
+ return value === 'auto' || value === 'scroll';
+ });
+ };
+
+ var isElementScrollable = function isElementScrollable(el) {
+ var style = window.getComputedStyle(el);
+ return isScrollable(style.overflow, style.overflowY, style.overflowX);
+ };
+
+ var getClosestScrollable = function getClosestScrollable(el) {
+ if (el == null) {
+ return null;
+ }
+
+ if (!isElementScrollable(el)) {
+ return getClosestScrollable(el.parentElement);
+ }
+
+ return el;
+ };
+
+ var _DroppableDimensionPu;
+
+ var getScroll = function getScroll(el) {
+ return {
+ x: el.scrollLeft,
+ y: el.scrollTop
+ };
+ };
+
+ var checkForNestedScrollContainers = function checkForNestedScrollContainers(scrollable) {
+ if (process.env.NODE_ENV === 'production') {
+ return;
+ }
+
+ if (!scrollable) {
+ return;
+ }
+
+ var anotherScrollParent = getClosestScrollable(scrollable.parentElement);
+
+ if (!anotherScrollParent) {
+ return;
+ }
+
+ console.warn("\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n ");
+ };
+
+ var listenerOptions = {
+ passive: true
+ };
+
+ var DroppableDimensionPublisher = function (_React$Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(DroppableDimensionPublisher, _React$Component);
+
+ function DroppableDimensionPublisher(props, context) {
+ var _this;
+
+ _this = _React$Component.call(this, props, context) || this;
+ _this.watchingScroll = null;
+ _this.callbacks = void 0;
+ _this.publishedDescriptor = null;
+
+ _this.getClosestScroll = function () {
+ if (!_this.watchingScroll) {
+ return origin;
+ }
+
+ return getScroll(_this.watchingScroll.closestScrollable);
+ };
+
+ _this.memoizedUpdateScroll = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (x, y) {
+ !_this.publishedDescriptor ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot update scroll on unpublished droppable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var newScroll = {
+ x: x,
+ y: y
+ };
+ var marshal = _this.context[dimensionMarshalKey];
+ marshal.updateDroppableScroll(_this.publishedDescriptor.id, newScroll);
+ });
+
+ _this.updateScroll = function () {
+ var offset = _this.getClosestScroll();
+
+ _this.memoizedUpdateScroll(offset.x, offset.y);
+ };
+
+ _this.scheduleScrollUpdate = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(_this.updateScroll);
+
+ _this.onClosestScroll = function () {
+ !_this.watchingScroll ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Could not find scroll options while scrolling') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var options = _this.watchingScroll.options;
+
+ if (options.shouldPublishImmediately) {
+ _this.updateScroll();
+
+ return;
+ }
+
+ _this.scheduleScrollUpdate();
+ };
+
+ _this.scroll = function (change) {
+ !_this.watchingScroll ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot scroll a droppable with no closest scrollable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var closestScrollable = _this.watchingScroll.closestScrollable;
+ closestScrollable.scrollTop += change.y;
+ closestScrollable.scrollLeft += change.x;
+ };
+
+ _this.watchScroll = function (closestScrollable, options) {
+ !!_this.watchingScroll ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Droppable cannot watch scroll as it is already watching scroll') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!closestScrollable) {
+ return;
+ }
+
+ _this.watchingScroll = {
+ options: options,
+ closestScrollable: closestScrollable
+ };
+ closestScrollable.addEventListener('scroll', _this.onClosestScroll, listenerOptions);
+ };
+
+ _this.unwatchScroll = function () {
+ var watching = _this.watchingScroll;
+
+ if (!watching) {
+ return;
+ }
+
+ _this.scheduleScrollUpdate.cancel();
+
+ watching.closestScrollable.removeEventListener('scroll', _this.onClosestScroll, listenerOptions);
+ _this.watchingScroll = null;
+ };
+
+ _this.getMemoizedDescriptor = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (id, type) {
+ return {
+ id: id,
+ type: type
+ };
+ });
+
+ _this.publish = function () {
+ var marshal = _this.context[dimensionMarshalKey];
+
+ var descriptor = _this.getMemoizedDescriptor(_this.props.droppableId, _this.props.type);
+
+ if (!_this.publishedDescriptor) {
+ marshal.registerDroppable(descriptor, _this.callbacks);
+ _this.publishedDescriptor = descriptor;
+ return;
+ }
+
+ if (_this.publishedDescriptor === descriptor) {
+ return;
+ }
+
+ marshal.updateDroppable(_this.publishedDescriptor, descriptor, _this.callbacks);
+ _this.publishedDescriptor = descriptor;
+ };
+
+ _this.unpublish = function () {
+ !_this.publishedDescriptor ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot unpublish descriptor when none is published') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var marshal = _this.context[dimensionMarshalKey];
+ marshal.unregisterDroppable(_this.publishedDescriptor);
+ _this.publishedDescriptor = null;
+ };
+
+ _this.getDimensionAndWatchScroll = function (windowScroll, options) {
+ var _this$props = _this.props,
+ direction = _this$props.direction,
+ ignoreContainerClipping = _this$props.ignoreContainerClipping,
+ isDropDisabled = _this$props.isDropDisabled,
+ getDroppableRef = _this$props.getDroppableRef;
+ var targetRef = getDroppableRef();
+ var descriptor = _this.publishedDescriptor;
+ !targetRef ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot calculate a dimension when not attached to the DOM') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ !descriptor ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot get dimension for unpublished droppable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var scrollableRef = getClosestScrollable(targetRef);
+ checkForNestedScrollContainers(scrollableRef);
+
+ _this.watchScroll(scrollableRef, options);
+
+ var client = function () {
+ var base = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["c" /* getBox */])(targetRef);
+
+ if (!scrollableRef) {
+ return base;
+ }
+
+ if (targetRef !== scrollableRef) {
+ return base;
+ }
+
+ var top = base.paddingBox.top - scrollableRef.scrollTop;
+ var left = base.paddingBox.left - scrollableRef.scrollLeft;
+ var bottom = top + scrollableRef.scrollHeight;
+ var right = left + scrollableRef.scrollWidth;
+ var paddingBox = {
+ top: top,
+ right: right,
+ bottom: bottom,
+ left: left
+ };
+ var borderBox = {
+ top: paddingBox.top - base.border.top,
+ right: paddingBox.right + base.border.right,
+ bottom: paddingBox.bottom + base.border.bottom,
+ left: paddingBox.left - base.border.left
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["b" /* createBox */])({
+ borderBox: borderBox,
+ margin: base.margin,
+ border: base.border,
+ padding: base.padding
+ });
+ }();
+
+ var page = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["e" /* withScroll */])(client, windowScroll);
+
+ var closest$$1 = function () {
+ if (!scrollableRef) {
+ return null;
+ }
+
+ var frameClient = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["c" /* getBox */])(scrollableRef);
+ return {
+ client: frameClient,
+ page: Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["e" /* withScroll */])(frameClient),
+ scrollHeight: scrollableRef.scrollHeight,
+ scrollWidth: scrollableRef.scrollWidth,
+ scroll: getScroll(scrollableRef),
+ shouldClipSubject: !ignoreContainerClipping
+ };
+ }();
+
+ return getDroppableDimension({
+ descriptor: descriptor,
+ isEnabled: !isDropDisabled,
+ direction: direction,
+ client: client,
+ page: page,
+ closest: closest$$1
+ });
+ };
+
+ var callbacks = {
+ getDimensionAndWatchScroll: _this.getDimensionAndWatchScroll,
+ unwatchScroll: _this.unwatchScroll,
+ scroll: _this.scroll
+ };
+ _this.callbacks = callbacks;
+ return _this;
+ }
+
+ var _proto = DroppableDimensionPublisher.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ this.publish();
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
+ this.publish();
+
+ if (this.props.isDropDisabled === prevProps.isDropDisabled) {
+ return;
+ }
+
+ var marshal = this.context[dimensionMarshalKey];
+ marshal.updateDroppableIsEnabled(this.props.droppableId, !this.props.isDropDisabled);
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ if (this.watchingScroll) {
+ if (process.env.NODE_ENV !== 'production') {
+ console.warn('Unmounting droppable while it was watching scroll');
+ }
+
+ this.unwatchScroll();
+ }
+
+ this.unpublish();
+ };
+
+ _proto.render = function render() {
+ return this.props.children;
+ };
+
+ return DroppableDimensionPublisher;
+ }(__WEBPACK_IMPORTED_MODULE_9_react___default.a.Component);
+
+ DroppableDimensionPublisher.contextTypes = (_DroppableDimensionPu = {}, _DroppableDimensionPu[dimensionMarshalKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.object.isRequired, _DroppableDimensionPu);
+
+ var Placeholder = function (_PureComponent) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(Placeholder, _PureComponent);
+
+ function Placeholder() {
+ return _PureComponent.apply(this, arguments) || this;
+ }
+
+ var _proto = Placeholder.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ if (this.props.onMount) {
+ this.props.onMount();
+ }
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ if (this.props.onUnmount) {
+ this.props.onUnmount();
+ }
+ };
+
+ _proto.render = function render() {
+ var placeholder = this.props.placeholder;
+ var client = placeholder.client,
+ display = placeholder.display,
+ tagName = placeholder.tagName;
+ var style = {
+ display: display,
+ boxSizing: 'border-box',
+ width: client.borderBox.width,
+ height: client.borderBox.height,
+ marginTop: client.margin.top,
+ marginRight: client.margin.right,
+ marginBottom: client.margin.bottom,
+ marginLeft: client.margin.left,
+ flexShrink: '0',
+ flexGrow: '0',
+ pointerEvents: 'none'
+ };
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(tagName, {
+ style: style
+ });
+ };
+
+ return Placeholder;
+ }(__WEBPACK_IMPORTED_MODULE_9_react__["PureComponent"]);
+
+ var throwIfRefIsInvalid = (function (ref) {
+ !(ref && ref instanceof HTMLElement) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\n ") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ });
+
+ var _Droppable$contextTyp, _Droppable$childConte;
+
+ var Droppable = function (_Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(Droppable, _Component);
+
+ function Droppable(props, context) {
+ var _this;
+
+ _this = _Component.call(this, props, context) || this;
+ _this.styleContext = void 0;
+ _this.ref = null;
+ _this.isPlaceholderMounted = false;
+
+ _this.onPlaceholderMount = function () {
+ _this.isPlaceholderMounted = true;
+ };
+
+ _this.onPlaceholderUnmount = function () {
+ _this.isPlaceholderMounted = false;
+ };
+
+ _this.setRef = function (ref) {
+ if (ref === null) {
+ return;
+ }
+
+ if (ref === _this.ref) {
+ return;
+ }
+
+ _this.ref = ref;
+ throwIfRefIsInvalid(ref);
+ };
+
+ _this.getDroppableRef = function () {
+ return _this.ref;
+ };
+
+ _this.styleContext = context[styleContextKey];
+ return _this;
+ }
+
+ var _proto = Droppable.prototype;
+
+ _proto.getChildContext = function getChildContext() {
+ var _value;
+
+ var value = (_value = {}, _value[droppableIdKey] = this.props.droppableId, _value[droppableTypeKey] = this.props.type, _value);
+ return value;
+ };
+
+ _proto.componentDidMount = function componentDidMount() {
+ throwIfRefIsInvalid(this.ref);
+ this.warnIfPlaceholderNotMounted();
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate() {
+ this.warnIfPlaceholderNotMounted();
+ };
+
+ _proto.warnIfPlaceholderNotMounted = function warnIfPlaceholderNotMounted() {
+ if (process.env.NODE_ENV === 'production') {
+ return;
+ }
+
+ if (!this.props.placeholder) {
+ return;
+ }
+
+ if (this.isPlaceholderMounted) {
+ return;
+ }
+
+ console.warn("\n Droppable setup issue: DroppableProvided > placeholder could not be found.\n Please be sure to add the {provided.placeholder} Node as a child of your Droppable\n\n More information: https://github.com/atlassian/react-beautiful-dnd#1-provided-droppableprovided\n ");
+ };
+
+ _proto.getPlaceholder = function getPlaceholder() {
+ if (!this.props.placeholder) {
+ return null;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(Placeholder, {
+ placeholder: this.props.placeholder,
+ onMount: this.onPlaceholderMount,
+ onUnmount: this.onPlaceholderUnmount
+ });
+ };
+
+ _proto.render = function render() {
+ var _this$props = this.props,
+ children = _this$props.children,
+ direction = _this$props.direction,
+ droppableId = _this$props.droppableId,
+ ignoreContainerClipping = _this$props.ignoreContainerClipping,
+ isDraggingOver = _this$props.isDraggingOver,
+ isDropDisabled = _this$props.isDropDisabled,
+ draggingOverWith = _this$props.draggingOverWith,
+ type = _this$props.type;
+ var provided = {
+ innerRef: this.setRef,
+ placeholder: this.getPlaceholder(),
+ droppableProps: {
+ 'data-react-beautiful-dnd-droppable': this.styleContext
+ }
+ };
+ var snapshot = {
+ isDraggingOver: isDraggingOver,
+ draggingOverWith: draggingOverWith
+ };
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(DroppableDimensionPublisher, {
+ droppableId: droppableId,
+ type: type,
+ direction: direction,
+ ignoreContainerClipping: ignoreContainerClipping,
+ isDropDisabled: isDropDisabled,
+ getDroppableRef: this.getDroppableRef
+ }, children(provided, snapshot));
+ };
+
+ return Droppable;
+ }(__WEBPACK_IMPORTED_MODULE_9_react__["Component"]);
+
+ Droppable.contextTypes = (_Droppable$contextTyp = {}, _Droppable$contextTyp[styleContextKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _Droppable$contextTyp);
+ Droppable.childContextTypes = (_Droppable$childConte = {}, _Droppable$childConte[droppableIdKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _Droppable$childConte[droppableTypeKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _Droppable$childConte);
+
+ var isStrictEqual = (function (a, b) {
+ return a === b;
+ });
+
+ var makeMapStateToProps = function makeMapStateToProps() {
+ var getIsDraggingOver = function getIsDraggingOver(id, destination) {
+ if (!destination) {
+ return false;
+ }
+
+ return destination.droppableId === id;
+ };
+
+ var shouldUsePlaceholder = function shouldUsePlaceholder(id, descriptor, destination) {
+ if (!destination) {
+ return false;
+ }
+
+ if (id === descriptor.droppableId) {
+ return false;
+ }
+
+ return id === destination.droppableId;
+ };
+
+ var getMapProps = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (isDraggingOver, draggingOverWith, placeholder) {
+ return {
+ isDraggingOver: isDraggingOver,
+ draggingOverWith: draggingOverWith,
+ placeholder: placeholder
+ };
+ });
+
+ var getDefault = function getDefault() {
+ return getMapProps(false, null, null);
+ };
+
+ var selector = function selector(state, ownProps) {
+ if (ownProps.isDropDisabled) {
+ return getDefault();
+ }
+
+ var id = ownProps.droppableId;
+
+ if (state.isDragging) {
+ var destination = state.impact.destination;
+ var isDraggingOver = getIsDraggingOver(id, destination);
+ var draggableId = state.critical.draggable.id;
+ var draggingOverWith = isDraggingOver ? draggableId : null;
+ var draggable = state.dimensions.draggables[draggableId];
+ var placeholder = shouldUsePlaceholder(id, draggable.descriptor, destination) ? draggable.placeholder : null;
+ return getMapProps(isDraggingOver, draggingOverWith, placeholder);
+ }
+
+ if (state.phase === 'DROP_ANIMATING') {
+ var _destination = state.pending.impact.destination;
+
+ var _isDraggingOver = getIsDraggingOver(id, _destination);
+
+ var _draggableId = state.pending.result.draggableId;
+
+ var _draggingOverWith = _isDraggingOver ? _draggableId : null;
+
+ var _draggable = state.dimensions.draggables[_draggableId];
+
+ var _placeholder = shouldUsePlaceholder(id, _draggable.descriptor, _destination) ? _draggable.placeholder : null;
+
+ return getMapProps(_isDraggingOver, _draggingOverWith, _placeholder);
+ }
+
+ return getDefault();
+ };
+
+ return selector;
+ };
+ var connectedDroppable = Object(__WEBPACK_IMPORTED_MODULE_11_react_redux__["a" /* connect */])(makeMapStateToProps, null, null, {
+ storeKey: storeKey,
+ pure: true,
+ areStatePropsEqual: isStrictEqual
+ })(Droppable);
+ connectedDroppable.defaultProps = {
+ type: 'DEFAULT',
+ isDropDisabled: false,
+ direction: 'vertical',
+ ignoreContainerClipping: false
+ };
+
+ var _DraggableDimensionPu;
+
+ var DraggableDimensionPublisher = function (_Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(DraggableDimensionPublisher, _Component);
+
+ function DraggableDimensionPublisher() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _Component.call.apply(_Component, [this].concat(args)) || this;
+ _this.publishedDescriptor = null;
+ _this.getMemoizedDescriptor = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (id, index, droppableId, type) {
+ return {
+ id: id,
+ index: index,
+ droppableId: droppableId,
+ type: type
+ };
+ });
+
+ _this.publish = function () {
+ var marshal = _this.context[dimensionMarshalKey];
+
+ var descriptor = _this.getMemoizedDescriptor(_this.props.draggableId, _this.props.index, _this.props.droppableId, _this.props.type);
+
+ if (!_this.publishedDescriptor) {
+ marshal.registerDraggable(descriptor, _this.getDimension);
+ _this.publishedDescriptor = descriptor;
+ return;
+ }
+
+ if (descriptor === _this.publishedDescriptor) {
+ return;
+ }
+
+ marshal.updateDraggable(_this.publishedDescriptor, descriptor, _this.getDimension);
+ _this.publishedDescriptor = descriptor;
+ };
+
+ _this.unpublish = function () {
+ !_this.publishedDescriptor ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot unpublish descriptor when none is published') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var marshal = _this.context[dimensionMarshalKey];
+ marshal.unregisterDraggable(_this.publishedDescriptor);
+ _this.publishedDescriptor = null;
+ };
+
+ _this.getDimension = function (windowScroll) {
+ var targetRef = _this.props.getDraggableRef();
+
+ var descriptor = _this.publishedDescriptor;
+ !targetRef ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'DraggableDimensionPublisher cannot calculate a dimension when not attached to the DOM') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ !descriptor ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot get dimension for unpublished draggable') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var computedStyles = window.getComputedStyle(targetRef);
+ var borderBox = targetRef.getBoundingClientRect();
+ var client = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["a" /* calculateBox */])(borderBox, computedStyles);
+ var page = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["e" /* withScroll */])(client, windowScroll);
+ var placeholder = {
+ client: client,
+ tagName: targetRef.tagName.toLowerCase(),
+ display: computedStyles.display
+ };
+ var dimension = {
+ descriptor: descriptor,
+ placeholder: placeholder,
+ client: client,
+ page: page
+ };
+ return dimension;
+ };
+
+ return _this;
+ }
+
+ var _proto = DraggableDimensionPublisher.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ this.publish();
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate() {
+ this.publish();
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ this.unpublish();
+ };
+
+ _proto.render = function render() {
+ return this.props.children;
+ };
+
+ return DraggableDimensionPublisher;
+ }(__WEBPACK_IMPORTED_MODULE_9_react__["Component"]);
+
+ DraggableDimensionPublisher.contextTypes = (_DraggableDimensionPu = {}, _DraggableDimensionPu[dimensionMarshalKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.object.isRequired, _DraggableDimensionPu);
+
+ var DoubleRenderBlocker = function (_React$Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(DoubleRenderBlocker, _React$Component);
+
+ function DoubleRenderBlocker() {
+ return _React$Component.apply(this, arguments) || this;
+ }
+
+ var _proto = DoubleRenderBlocker.prototype;
+
+ _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ if (isEqual(origin, nextProps.change)) {
+ return true;
+ }
+
+ if (isEqual(this.props.change, nextProps.change)) {
+ return false;
+ }
+
+ return true;
+ };
+
+ _proto.render = function render() {
+ return this.props.children(this.props.change);
+ };
+
+ return DoubleRenderBlocker;
+ }(__WEBPACK_IMPORTED_MODULE_9_react___default.a.Component);
+
+ var Moveable = function (_Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(Moveable, _Component);
+
+ function Moveable() {
+ return _Component.apply(this, arguments) || this;
+ }
+
+ var _proto2 = Moveable.prototype;
+
+ _proto2.getFinal = function getFinal() {
+ var destination = this.props.destination;
+ var speed = this.props.speed;
+
+ if (speed === 'INSTANT') {
+ return destination;
+ }
+
+ var config = speed === 'FAST' ? physics.fast : physics.standard;
+ return {
+ x: Object(__WEBPACK_IMPORTED_MODULE_12_react_motion__["spring"])(destination.x, config),
+ y: Object(__WEBPACK_IMPORTED_MODULE_12_react_motion__["spring"])(destination.y, config)
+ };
+ };
+
+ _proto2.render = function render() {
+ var _this = this;
+
+ var final = this.getFinal();
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_12_react_motion__["Motion"], {
+ defaultStyle: origin,
+ style: final,
+ onRest: this.props.onMoveEnd
+ }, function (current) {
+ var _this$props = _this.props,
+ speed = _this$props.speed,
+ destination = _this$props.destination,
+ children = _this$props.children;
+ var target = speed === 'INSTANT' ? destination : current;
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(DoubleRenderBlocker, {
+ change: target
+ }, children);
+ });
+ };
+
+ return Moveable;
+ }(__WEBPACK_IMPORTED_MODULE_9_react__["Component"]);
+
+ Moveable.defaultProps = {
+ destination: origin
+ };
+
+ var getWindowFromRef = (function (ref) {
+ return ref ? ref.ownerDocument.defaultView : window;
+ });
+
+ var selector = "[" + dragHandle + "]";
+
+ var isSVG = function isSVG(el) {
+ if (typeof SVGElement === 'undefined') {
+ return false;
+ }
+
+ return el instanceof SVGElement;
+ };
+
+ var throwIfSVG = function throwIfSVG(el) {
+ !!isSVG(el) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "A drag handle cannot be an SVGElement: it has inconsistent focus support.\n\n More information: https://github.com/atlassian/react-beautiful-dnd/tree/master/docs/guides/dragging-svgs.md") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ };
+
+ var getDragHandleRef = function getDragHandleRef(draggableRef) {
+ if (draggableRef.hasAttribute(dragHandle)) {
+ throwIfSVG(draggableRef);
+ return draggableRef;
+ }
+
+ var el = draggableRef.querySelector(selector);
+ throwIfSVG(draggableRef);
+ !el ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, "\n Cannot find drag handle element inside of Draggable.\n Please be sure to apply the {...provided.dragHandleProps} to your Draggable\n\n More information: https://github.com/atlassian/react-beautiful-dnd#draggable\n ") : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ !(el instanceof HTMLElement) ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'A drag handle must be a HTMLElement') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return el;
+ };
+
+ var retainingFocusFor = null;
+ var listenerOptions$1 = {
+ capture: true
+ };
+
+ var clearRetentionOnFocusChange = function () {
+ var isBound = false;
+
+ var bind = function bind() {
+ if (isBound) {
+ return;
+ }
+
+ isBound = true;
+ window.addEventListener('focus', onWindowFocusChange, listenerOptions$1);
+ };
+
+ var unbind = function unbind() {
+ if (!isBound) {
+ return;
+ }
+
+ isBound = false;
+ window.removeEventListener('focus', onWindowFocusChange, listenerOptions$1);
+ };
+
+ var onWindowFocusChange = function onWindowFocusChange() {
+ unbind();
+ retainingFocusFor = null;
+ };
+
+ var result = function result() {
+ return bind();
+ };
+
+ result.cancel = function () {
+ return unbind();
+ };
+
+ return result;
+ }();
+
+ var retain = function retain(id) {
+ retainingFocusFor = id;
+ clearRetentionOnFocusChange();
+ };
+
+ var tryRestoreFocus = function tryRestoreFocus(id, draggableRef) {
+ if (!retainingFocusFor) {
+ return;
+ }
+
+ if (id !== retainingFocusFor) {
+ return;
+ }
+
+ retainingFocusFor = null;
+ clearRetentionOnFocusChange.cancel();
+ var dragHandleRef = getDragHandleRef(draggableRef);
+
+ if (!dragHandleRef) {
+ console.warn('Could not find drag handle in the DOM to focus on it');
+ return;
+ }
+
+ dragHandleRef.focus();
+ };
+
+ var retainer = {
+ retain: retain,
+ tryRestoreFocus: tryRestoreFocus
+ };
+
+ var interactiveTagNames = {
+ input: true,
+ button: true,
+ textarea: true,
+ select: true,
+ option: true,
+ optgroup: true,
+ video: true,
+ audio: true
+ };
+
+ var isAnInteractiveElement = function isAnInteractiveElement(parent, current) {
+ if (current == null) {
+ return false;
+ }
+
+ var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);
+
+ if (hasAnInteractiveTag) {
+ return true;
+ }
+
+ var attribute = current.getAttribute('contenteditable');
+
+ if (attribute === 'true' || attribute === '') {
+ return true;
+ }
+
+ if (current === parent) {
+ return false;
+ }
+
+ return isAnInteractiveElement(parent, current.parentElement);
+ };
+
+ var shouldAllowDraggingFromTarget = (function (event, props) {
+ if (props.canDragInteractiveElements) {
+ return true;
+ }
+
+ var target = event.target,
+ currentTarget = event.currentTarget;
+
+ if (!(target instanceof Element) || !(currentTarget instanceof Element)) {
+ return true;
+ }
+
+ return !isAnInteractiveElement(currentTarget, target);
+ });
+
+ var createScheduler = (function (callbacks) {
+ var memoizedMove = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (x, y) {
+ var point = {
+ x: x,
+ y: y
+ };
+ callbacks.onMove(point);
+ });
+ var move = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(function (point) {
+ return memoizedMove(point.x, point.y);
+ });
+ var moveUp = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(callbacks.onMoveUp);
+ var moveDown = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(callbacks.onMoveDown);
+ var moveRight = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(callbacks.onMoveRight);
+ var moveLeft = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(callbacks.onMoveLeft);
+ var windowScrollMove = Object(__WEBPACK_IMPORTED_MODULE_7_raf_schd__["a" /* default */])(callbacks.onWindowScroll);
+
+ var cancel = function cancel() {
+ move.cancel();
+ moveUp.cancel();
+ moveDown.cancel();
+ moveRight.cancel();
+ moveLeft.cancel();
+ windowScrollMove.cancel();
+ };
+
+ return {
+ move: move,
+ moveUp: moveUp,
+ moveDown: moveDown,
+ moveRight: moveRight,
+ moveLeft: moveLeft,
+ windowScrollMove: windowScrollMove,
+ cancel: cancel
+ };
+ });
+
+ var sloppyClickThreshold = 5;
+ var isSloppyClickThresholdExceeded = (function (original, current) {
+ return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;
+ });
+
+ var tab = 9;
+ var enter = 13;
+ var escape = 27;
+ var space = 32;
+ var pageUp = 33;
+ var pageDown = 34;
+ var end = 35;
+ var home = 36;
+ var arrowLeft = 37;
+ var arrowUp = 38;
+ var arrowRight = 39;
+ var arrowDown = 40;
+
+ var _preventedKeys;
+ var preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);
+ var preventStandardKeyEvents = (function (event) {
+ if (preventedKeys[event.keyCode]) {
+ event.preventDefault();
+ }
+ });
+
+ var getOptions = function getOptions(shared, fromBinding) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, shared, fromBinding);
+ };
+
+ var bindEvents = function bindEvents(el, bindings, sharedOptions) {
+ bindings.forEach(function (binding) {
+ var options = getOptions(sharedOptions, binding.options);
+ el.addEventListener(binding.eventName, binding.fn, options);
+ });
+ };
+ var unbindEvents = function unbindEvents(el, bindings, sharedOptions) {
+ bindings.forEach(function (binding) {
+ var options = getOptions(sharedOptions, binding.options);
+ el.removeEventListener(binding.eventName, binding.fn, options);
+ });
+ };
+
+ var sharedOptions = {
+ capture: true
+ };
+ var createPostDragEventPreventer = (function (getWindow) {
+ var isBound = false;
+
+ var bind = function bind() {
+ if (isBound) {
+ return;
+ }
+
+ isBound = true;
+ bindEvents(getWindow(), pointerEvents, sharedOptions);
+ };
+
+ var unbind = function unbind() {
+ if (!isBound) {
+ return;
+ }
+
+ isBound = false;
+ unbindEvents(getWindow(), pointerEvents, sharedOptions);
+ };
+
+ var pointerEvents = [{
+ eventName: 'click',
+ fn: function fn(event) {
+ event.preventDefault();
+ unbind();
+ }
+ }, {
+ eventName: 'mousedown',
+ fn: unbind
+ }, {
+ eventName: 'touchstart',
+ fn: unbind
+ }];
+
+ var preventNext = function preventNext() {
+ if (isBound) {
+ unbind();
+ }
+
+ bind();
+ };
+
+ var preventer = {
+ preventNext: preventNext,
+ abort: unbind
+ };
+ return preventer;
+ });
+
+ var createEventMarshal = (function () {
+ var isMouseDownHandled = false;
+
+ var handle = function handle() {
+ !!isMouseDownHandled ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot handle mouse down as it is already handled') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ isMouseDownHandled = true;
+ };
+
+ var isHandled = function isHandled() {
+ return isMouseDownHandled;
+ };
+
+ var reset = function reset() {
+ isMouseDownHandled = false;
+ };
+
+ return {
+ handle: handle,
+ isHandled: isHandled,
+ reset: reset
+ };
+ });
+
+ var supportedEventName = function () {
+ var base = 'visibilitychange';
+
+ if (typeof document === 'undefined') {
+ return base;
+ }
+
+ var candidates = [base, "ms" + base, "webkit" + base, "moz" + base, "o" + base];
+ var supported = "";
+ for(var k = 0; k++; k < candidates.length) {
+ if(candidates[k] === "on" + eventName in document){
+ supported = candidates[k];
+ }
+ }
+ return supported || base;
+ }();
+
+ var primaryButton = 0;
+
+ var noop = function noop() {};
+
+ var mouseDownMarshal = createEventMarshal();
+ var createMouseSensor = (function (_ref) {
+ var callbacks = _ref.callbacks,
+ getWindow = _ref.getWindow,
+ canStartCapturing = _ref.canStartCapturing;
+ var state = {
+ isDragging: false,
+ pending: null
+ };
+
+ var setState = function setState(newState) {
+ state = newState;
+ };
+
+ var isDragging = function isDragging() {
+ return state.isDragging;
+ };
+
+ var isCapturing = function isCapturing() {
+ return Boolean(state.pending || state.isDragging);
+ };
+
+ var schedule = createScheduler(callbacks);
+ var postDragEventPreventer = createPostDragEventPreventer(getWindow);
+
+ var startDragging = function startDragging(fn) {
+ if (fn === void 0) {
+ fn = noop;
+ }
+
+ setState({
+ pending: null,
+ isDragging: true
+ });
+ fn();
+ };
+
+ var stopDragging = function stopDragging(fn, shouldBlockClick) {
+ if (fn === void 0) {
+ fn = noop;
+ }
+
+ if (shouldBlockClick === void 0) {
+ shouldBlockClick = true;
+ }
+
+ schedule.cancel();
+ unbindWindowEvents();
+ mouseDownMarshal.reset();
+
+ if (shouldBlockClick) {
+ postDragEventPreventer.preventNext();
+ }
+
+ setState({
+ isDragging: false,
+ pending: null
+ });
+ fn();
+ };
+
+ var startPendingDrag = function startPendingDrag(point) {
+ setState({
+ pending: point,
+ isDragging: false
+ });
+ bindWindowEvents();
+ };
+
+ var stopPendingDrag = function stopPendingDrag() {
+ stopDragging(noop, false);
+ };
+
+ var kill = function kill(fn) {
+ if (fn === void 0) {
+ fn = noop;
+ }
+
+ if (state.pending) {
+ stopPendingDrag();
+ return;
+ }
+
+ stopDragging(fn);
+ };
+
+ var unmount = function unmount() {
+ kill();
+ postDragEventPreventer.abort();
+ };
+
+ var cancel = function cancel() {
+ kill(callbacks.onCancel);
+ };
+
+ var windowBindings = [{
+ eventName: 'mousemove',
+ fn: function fn(event) {
+ var button = event.button,
+ clientX = event.clientX,
+ clientY = event.clientY;
+
+ if (button !== primaryButton) {
+ return;
+ }
+
+ var point = {
+ x: clientX,
+ y: clientY
+ };
+
+ if (state.isDragging) {
+ event.preventDefault();
+ schedule.move(point);
+ return;
+ }
+
+ if (!state.pending) {
+ kill();
+ process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Expected there to be a pending drag') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false);
+ }
+
+ if (!isSloppyClickThresholdExceeded(state.pending, point)) {
+ return;
+ }
+
+ event.preventDefault();
+ startDragging(function () {
+ return callbacks.onLift({
+ clientSelection: point,
+ autoScrollMode: 'FLUID'
+ });
+ });
+ }
+ }, {
+ eventName: 'mouseup',
+ fn: function fn(event) {
+ if (state.pending) {
+ stopPendingDrag();
+ return;
+ }
+
+ event.preventDefault();
+ stopDragging(callbacks.onDrop);
+ }
+ }, {
+ eventName: 'mousedown',
+ fn: function fn(event) {
+ if (state.isDragging) {
+ event.preventDefault();
+ }
+
+ stopDragging(callbacks.onCancel);
+ }
+ }, {
+ eventName: 'keydown',
+ fn: function fn(event) {
+ if (!state.isDragging) {
+ cancel();
+ return;
+ }
+
+ if (event.keyCode === escape) {
+ event.preventDefault();
+ cancel();
+ return;
+ }
+
+ preventStandardKeyEvents(event);
+ }
+ }, {
+ eventName: 'resize',
+ fn: cancel
+ }, {
+ eventName: 'scroll',
+ options: {
+ passive: true,
+ capture: false
+ },
+ fn: function fn() {
+ if (state.pending) {
+ stopPendingDrag();
+ return;
+ }
+
+ schedule.windowScrollMove();
+ }
+ }, {
+ eventName: 'webkitmouseforcechanged',
+ fn: function fn(event) {
+ if (event.webkitForce == null || MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN == null) {
+ if (process.env.NODE_ENV !== 'production') {
+ console.warn('handling a mouse force changed event when it is not supported');
+ }
+
+ return;
+ }
+
+ var forcePressThreshold = MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN;
+ var isForcePressing = event.webkitForce >= forcePressThreshold;
+
+ if (isForcePressing) {
+ cancel();
+ }
+ }
+ }, {
+ eventName: supportedEventName,
+ fn: cancel
+ }];
+
+ var bindWindowEvents = function bindWindowEvents() {
+ var win = getWindow();
+ bindEvents(win, windowBindings, {
+ capture: true
+ });
+ };
+
+ var unbindWindowEvents = function unbindWindowEvents() {
+ var win = getWindow();
+ unbindEvents(win, windowBindings, {
+ capture: true
+ });
+ };
+
+ var onMouseDown = function onMouseDown(event) {
+ if (mouseDownMarshal.isHandled()) {
+ return;
+ }
+
+ !!isCapturing() ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Should not be able to perform a mouse down while a drag or pending drag is occurring') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!canStartCapturing(event)) {
+ return;
+ }
+
+ if (event.button !== primaryButton) {
+ return;
+ }
+
+ if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {
+ return;
+ }
+
+ mouseDownMarshal.handle();
+ event.preventDefault();
+ var point = {
+ x: event.clientX,
+ y: event.clientY
+ };
+ startPendingDrag(point);
+ };
+
+ var sensor = {
+ onMouseDown: onMouseDown,
+ kill: kill,
+ isCapturing: isCapturing,
+ isDragging: isDragging,
+ unmount: unmount
+ };
+ return sensor;
+ });
+
+ var getBorderBoxCenterPosition = (function (el) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["d" /* getRect */])(el.getBoundingClientRect()).center;
+ });
+
+ var _scrollJumpKeys;
+ var scrollJumpKeys = (_scrollJumpKeys = {}, _scrollJumpKeys[pageDown] = true, _scrollJumpKeys[pageUp] = true, _scrollJumpKeys[home] = true, _scrollJumpKeys[end] = true, _scrollJumpKeys);
+
+ var noop$1 = function noop() {};
+
+ var createKeyboardSensor = (function (_ref) {
+ var callbacks = _ref.callbacks,
+ getWindow = _ref.getWindow,
+ getDraggableRef = _ref.getDraggableRef,
+ canStartCapturing = _ref.canStartCapturing;
+ var state = {
+ isDragging: false
+ };
+
+ var setState = function setState(newState) {
+ state = newState;
+ };
+
+ var startDragging = function startDragging(fn) {
+ if (fn === void 0) {
+ fn = noop$1;
+ }
+
+ setState({
+ isDragging: true
+ });
+ bindWindowEvents();
+ fn();
+ };
+
+ var stopDragging = function stopDragging(fn) {
+ if (fn === void 0) {
+ fn = noop$1;
+ }
+
+ schedule.cancel();
+ unbindWindowEvents();
+ setState({
+ isDragging: false
+ });
+ fn();
+ };
+
+ var kill = function kill() {
+ return stopDragging();
+ };
+
+ var cancel = function cancel() {
+ stopDragging(callbacks.onCancel);
+ };
+
+ var isDragging = function isDragging() {
+ return state.isDragging;
+ };
+
+ var schedule = createScheduler(callbacks);
+
+ var onKeyDown = function onKeyDown(event) {
+ if (!isDragging()) {
+ if (event.defaultPrevented) {
+ return;
+ }
+
+ if (!canStartCapturing(event)) {
+ return;
+ }
+
+ if (event.keyCode !== space) {
+ return;
+ }
+
+ var ref = getDraggableRef();
+ !ref ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot start a keyboard drag without a draggable ref') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var center = getBorderBoxCenterPosition(ref);
+ event.preventDefault();
+ startDragging(function () {
+ return callbacks.onLift({
+ clientSelection: center,
+ autoScrollMode: 'JUMP'
+ });
+ });
+ return;
+ }
+
+ if (event.keyCode === escape) {
+ event.preventDefault();
+ cancel();
+ return;
+ }
+
+ if (event.keyCode === space) {
+ event.preventDefault();
+ stopDragging(callbacks.onDrop);
+ return;
+ }
+
+ if (event.keyCode === arrowDown) {
+ event.preventDefault();
+ schedule.moveDown();
+ return;
+ }
+
+ if (event.keyCode === arrowUp) {
+ event.preventDefault();
+ schedule.moveUp();
+ return;
+ }
+
+ if (event.keyCode === arrowRight) {
+ event.preventDefault();
+ schedule.moveRight();
+ return;
+ }
+
+ if (event.keyCode === arrowLeft) {
+ event.preventDefault();
+ schedule.moveLeft();
+ return;
+ }
+
+ if (scrollJumpKeys[event.keyCode]) {
+ event.preventDefault();
+ return;
+ }
+
+ preventStandardKeyEvents(event);
+ };
+
+ var windowBindings = [{
+ eventName: 'mousedown',
+ fn: cancel
+ }, {
+ eventName: 'mouseup',
+ fn: cancel
+ }, {
+ eventName: 'click',
+ fn: cancel
+ }, {
+ eventName: 'touchstart',
+ fn: cancel
+ }, {
+ eventName: 'resize',
+ fn: cancel
+ }, {
+ eventName: 'wheel',
+ fn: cancel
+ }, {
+ eventName: 'scroll',
+ options: {
+ capture: false
+ },
+ fn: callbacks.onWindowScroll
+ }, {
+ eventName: supportedEventName,
+ fn: cancel
+ }];
+
+ var bindWindowEvents = function bindWindowEvents() {
+ bindEvents(getWindow(), windowBindings, {
+ capture: true
+ });
+ };
+
+ var unbindWindowEvents = function unbindWindowEvents() {
+ unbindEvents(getWindow(), windowBindings, {
+ capture: true
+ });
+ };
+
+ var sensor = {
+ onKeyDown: onKeyDown,
+ kill: kill,
+ isDragging: isDragging,
+ isCapturing: isDragging,
+ unmount: kill
+ };
+ return sensor;
+ });
+
+ var timeForLongPress = 150;
+ var forcePressThreshold = 0.15;
+ var touchStartMarshal = createEventMarshal();
+
+ var noop$2 = function noop() {};
+
+ var webkitHack = function () {
+ var stub = {
+ preventTouchMove: noop$2,
+ releaseTouchMove: noop$2
+ };
+
+ if (typeof window === 'undefined') {
+ return stub;
+ }
+
+ if (!('ontouchstart' in window)) {
+ return stub;
+ }
+
+ var isBlocking = false;
+ window.addEventListener('touchmove', function (event) {
+ if (!isBlocking) {
+ return;
+ }
+
+ if (event.defaultPrevented) {
+ return;
+ }
+
+ event.preventDefault();
+ }, {
+ passive: false,
+ capture: false
+ });
+
+ var preventTouchMove = function preventTouchMove() {
+ isBlocking = true;
+ };
+
+ var releaseTouchMove = function releaseTouchMove() {
+ isBlocking = false;
+ };
+
+ return {
+ preventTouchMove: preventTouchMove,
+ releaseTouchMove: releaseTouchMove
+ };
+ }();
+
+ var initial = {
+ isDragging: false,
+ pending: null,
+ hasMoved: false,
+ longPressTimerId: null
+ };
+ var createTouchSensor = (function (_ref) {
+ var callbacks = _ref.callbacks,
+ getWindow = _ref.getWindow,
+ canStartCapturing = _ref.canStartCapturing;
+ var state = initial;
+
+ var setState = function setState(partial) {
+ state = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_corejs2_helpers_esm_extends__["a" /* default */])({}, state, partial);
+ };
+
+ var isDragging = function isDragging() {
+ return state.isDragging;
+ };
+
+ var isCapturing = function isCapturing() {
+ return Boolean(state.pending || state.isDragging || state.longPressTimerId);
+ };
+
+ var schedule = createScheduler(callbacks);
+ var postDragEventPreventer = createPostDragEventPreventer(getWindow);
+
+ var startDragging = function startDragging() {
+ var pending = state.pending;
+
+ if (!pending) {
+ kill();
+ process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'cannot start a touch drag without a pending position') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false);
+ }
+
+ setState({
+ isDragging: true,
+ hasMoved: false,
+ pending: null,
+ longPressTimerId: null
+ });
+ callbacks.onLift({
+ clientSelection: pending,
+ autoScrollMode: 'FLUID'
+ });
+ };
+
+ var stopDragging = function stopDragging(fn) {
+ if (fn === void 0) {
+ fn = noop$2;
+ }
+
+ schedule.cancel();
+ touchStartMarshal.reset();
+ webkitHack.releaseTouchMove();
+ unbindWindowEvents();
+ postDragEventPreventer.preventNext();
+ setState(initial);
+ fn();
+ };
+
+ var startPendingDrag = function startPendingDrag(event) {
+ var touch = event.touches[0];
+ var clientX = touch.clientX,
+ clientY = touch.clientY;
+ var point = {
+ x: clientX,
+ y: clientY
+ };
+ var longPressTimerId = setTimeout(startDragging, timeForLongPress);
+ setState({
+ longPressTimerId: longPressTimerId,
+ pending: point,
+ isDragging: false,
+ hasMoved: false
+ });
+ bindWindowEvents();
+ };
+
+ var stopPendingDrag = function stopPendingDrag() {
+ if (state.longPressTimerId) {
+ clearTimeout(state.longPressTimerId);
+ }
+
+ schedule.cancel();
+ touchStartMarshal.reset();
+ webkitHack.releaseTouchMove();
+ unbindWindowEvents();
+ setState(initial);
+ };
+
+ var kill = function kill(fn) {
+ if (fn === void 0) {
+ fn = noop$2;
+ }
+
+ if (state.pending) {
+ stopPendingDrag();
+ return;
+ }
+
+ stopDragging(fn);
+ };
+
+ var unmount = function unmount() {
+ kill();
+ postDragEventPreventer.abort();
+ };
+
+ var cancel = function cancel() {
+ kill(callbacks.onCancel);
+ };
+
+ var windowBindings = [{
+ eventName: 'touchmove',
+ options: {
+ passive: false
+ },
+ fn: function fn(event) {
+ if (!state.isDragging) {
+ stopPendingDrag();
+ return;
+ }
+
+ if (!state.hasMoved) {
+ setState({
+ hasMoved: true
+ });
+ }
+
+ var _event$touches$ = event.touches[0],
+ clientX = _event$touches$.clientX,
+ clientY = _event$touches$.clientY;
+ var point = {
+ x: clientX,
+ y: clientY
+ };
+ event.preventDefault();
+ schedule.move(point);
+ }
+ }, {
+ eventName: 'touchend',
+ fn: function fn(event) {
+ if (!state.isDragging) {
+ stopPendingDrag();
+ return;
+ }
+
+ event.preventDefault();
+ stopDragging(callbacks.onDrop);
+ }
+ }, {
+ eventName: 'touchcancel',
+ fn: function fn(event) {
+ if (!state.isDragging) {
+ stopPendingDrag();
+ return;
+ }
+
+ event.preventDefault();
+ stopDragging(callbacks.onCancel);
+ }
+ }, {
+ eventName: 'touchstart',
+ fn: cancel
+ }, {
+ eventName: 'orientationchange',
+ fn: cancel
+ }, {
+ eventName: 'resize',
+ fn: cancel
+ }, {
+ eventName: 'scroll',
+ options: {
+ passive: true,
+ capture: false
+ },
+ fn: function fn() {
+ if (state.pending) {
+ stopPendingDrag();
+ return;
+ }
+
+ schedule.windowScrollMove();
+ }
+ }, {
+ eventName: 'contextmenu',
+ fn: function fn(event) {
+ event.preventDefault();
+ }
+ }, {
+ eventName: 'keydown',
+ fn: function fn(event) {
+ if (!state.isDragging) {
+ cancel();
+ return;
+ }
+
+ if (event.keyCode === escape) {
+ event.preventDefault();
+ }
+
+ cancel();
+ }
+ }, {
+ eventName: 'touchforcechange',
+ fn: function fn(event) {
+ if (state.hasMoved) {
+ event.preventDefault();
+ return;
+ }
+
+ var touch = event.touches[0];
+
+ if (touch.force >= forcePressThreshold) {
+ cancel();
+ }
+ }
+ }, {
+ eventName: supportedEventName,
+ fn: cancel
+ }];
+
+ var bindWindowEvents = function bindWindowEvents() {
+ bindEvents(getWindow(), windowBindings, {
+ capture: true
+ });
+ };
+
+ var unbindWindowEvents = function unbindWindowEvents() {
+ unbindEvents(getWindow(), windowBindings, {
+ capture: true
+ });
+ };
+
+ var onTouchStart = function onTouchStart(event) {
+ if (touchStartMarshal.isHandled()) {
+ return;
+ }
+
+ !!isCapturing() ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Should not be able to perform a touch start while a drag or pending drag is occurring') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!canStartCapturing(event)) {
+ return;
+ }
+
+ touchStartMarshal.handle();
+ webkitHack.preventTouchMove();
+ startPendingDrag(event);
+ };
+
+ var sensor = {
+ onTouchStart: onTouchStart,
+ kill: kill,
+ isCapturing: isCapturing,
+ isDragging: isDragging,
+ unmount: unmount
+ };
+ return sensor;
+ });
+
+ var _DragHandle$contextTy;
+
+ var preventHtml5Dnd = function preventHtml5Dnd(event) {
+ event.preventDefault();
+ };
+
+ var DragHandle = function (_Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(DragHandle, _Component);
+
+ function DragHandle(props, context) {
+ var _this;
+
+ _this = _Component.call(this, props, context) || this;
+ _this.mouseSensor = void 0;
+ _this.keyboardSensor = void 0;
+ _this.touchSensor = void 0;
+ _this.sensors = void 0;
+ _this.styleContext = void 0;
+ _this.canLift = void 0;
+ _this.isFocused = false;
+ _this.lastDraggableRef = void 0;
+
+ _this.onFocus = function () {
+ _this.isFocused = true;
+ };
+
+ _this.onBlur = function () {
+ _this.isFocused = false;
+ };
+
+ _this.onKeyDown = function (event) {
+ if (_this.mouseSensor.isCapturing() || _this.touchSensor.isCapturing()) {
+ return;
+ }
+
+ _this.keyboardSensor.onKeyDown(event);
+ };
+
+ _this.onMouseDown = function (event) {
+ if (_this.keyboardSensor.isCapturing() || _this.mouseSensor.isCapturing()) {
+ return;
+ }
+
+ _this.mouseSensor.onMouseDown(event);
+ };
+
+ _this.onTouchStart = function (event) {
+ if (_this.mouseSensor.isCapturing() || _this.keyboardSensor.isCapturing()) {
+ return;
+ }
+
+ _this.touchSensor.onTouchStart(event);
+ };
+
+ _this.canStartCapturing = function (event) {
+ if (_this.isAnySensorCapturing()) {
+ return false;
+ }
+
+ if (!_this.canLift(_this.props.draggableId)) {
+ return false;
+ }
+
+ return shouldAllowDraggingFromTarget(event, _this.props);
+ };
+
+ _this.isAnySensorCapturing = function () {
+ return _this.sensors.some(function (sensor) {
+ return sensor.isCapturing();
+ });
+ };
+
+ _this.getProvided = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (isEnabled) {
+ if (!isEnabled) {
+ return null;
+ }
+
+ var provided = {
+ onMouseDown: _this.onMouseDown,
+ onKeyDown: _this.onKeyDown,
+ onTouchStart: _this.onTouchStart,
+ onFocus: _this.onFocus,
+ onBlur: _this.onBlur,
+ tabIndex: 0,
+ 'data-react-beautiful-dnd-drag-handle': _this.styleContext,
+ 'aria-roledescription': 'Draggable item. Press space bar to lift',
+ draggable: false,
+ onDragStart: preventHtml5Dnd
+ };
+ return provided;
+ });
+
+ var getWindow = function getWindow() {
+ return getWindowFromRef(_this.props.getDraggableRef());
+ };
+
+ var args = {
+ callbacks: _this.props.callbacks,
+ getDraggableRef: _this.props.getDraggableRef,
+ getWindow: getWindow,
+ canStartCapturing: _this.canStartCapturing
+ };
+ _this.mouseSensor = createMouseSensor(args);
+ _this.keyboardSensor = createKeyboardSensor(args);
+ _this.touchSensor = createTouchSensor(args);
+ _this.sensors = [_this.mouseSensor, _this.keyboardSensor, _this.touchSensor];
+ _this.styleContext = context[styleContextKey];
+ _this.canLift = context[canLiftContextKey];
+ return _this;
+ }
+
+ var _proto = DragHandle.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ var draggableRef = this.props.getDraggableRef();
+ this.lastDraggableRef = draggableRef;
+ !draggableRef ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot get draggable ref from drag handle') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+
+ if (!this.props.isEnabled) {
+ return;
+ }
+
+ var dragHandleRef = getDragHandleRef(draggableRef);
+ retainer.tryRestoreFocus(this.props.draggableId, dragHandleRef);
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
+ var _this2 = this;
+
+ var ref = this.props.getDraggableRef();
+
+ if (ref !== this.lastDraggableRef) {
+ this.lastDraggableRef = ref;
+
+ if (!ref || !this.isFocused) {
+ return;
+ }
+
+ if (!this.props.isEnabled) {
+ return;
+ }
+
+ getDragHandleRef(ref).focus();
+ }
+
+ var isCapturing = this.isAnySensorCapturing();
+
+ if (!isCapturing) {
+ return;
+ }
+
+ var isDragStopping = prevProps.isDragging && !this.props.isDragging;
+
+ if (isDragStopping) {
+ this.sensors.forEach(function (sensor) {
+ if (sensor.isCapturing()) {
+ sensor.kill();
+ }
+ });
+ }
+
+ if (this.props.isEnabled) {
+ return;
+ }
+
+ this.sensors.forEach(function (sensor) {
+ if (!sensor.isCapturing()) {
+ return;
+ }
+
+ var wasDragging = sensor.isDragging();
+ sensor.kill();
+
+ if (wasDragging) {
+ if (process.env.NODE_ENV !== 'production') {
+ console.warn('You have disabled dragging on a Draggable while it was dragging. The drag has been cancelled');
+ }
+
+ _this2.props.callbacks.onCancel();
+ }
+ });
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ var _this3 = this;
+
+ this.sensors.forEach(function (sensor) {
+ var wasDragging = sensor.isDragging();
+ sensor.unmount();
+
+ if (wasDragging) {
+ _this3.props.callbacks.onCancel();
+ }
+ });
+
+ var shouldRetainFocus = function () {
+ if (!_this3.props.isEnabled) {
+ return false;
+ }
+
+ if (!_this3.isFocused) {
+ return false;
+ }
+
+ return _this3.props.isDragging || _this3.props.isDropAnimating;
+ }();
+
+ if (shouldRetainFocus) {
+ retainer.retain(this.props.draggableId);
+ }
+ };
+
+ _proto.render = function render() {
+ var _this$props = this.props,
+ children = _this$props.children,
+ isEnabled = _this$props.isEnabled;
+ return children(this.getProvided(isEnabled));
+ };
+
+ return DragHandle;
+ }(__WEBPACK_IMPORTED_MODULE_9_react__["Component"]);
+
+ DragHandle.contextTypes = (_DragHandle$contextTy = {}, _DragHandle$contextTy[styleContextKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _DragHandle$contextTy[canLiftContextKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.func.isRequired, _DragHandle$contextTy);
+
+ var getWindowScroll = (function () {
+ return {
+ x: window.pageXOffset,
+ y: window.pageYOffset
+ };
+ });
+
+ var getViewport = (function () {
+ var scroll = getWindowScroll();
+ var top = scroll.y;
+ var left = scroll.x;
+ var doc = document.documentElement;
+ !doc ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Could not find document.documentElement') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var width = doc.clientWidth;
+ var height = doc.clientHeight;
+ var right = left + width;
+ var bottom = top + height;
+ var frame = Object(__WEBPACK_IMPORTED_MODULE_2_css_box_model__["d" /* getRect */])({
+ top: top,
+ left: left,
+ right: right,
+ bottom: bottom
+ });
+ var maxScroll = getMaxScroll({
+ scrollHeight: doc.scrollHeight,
+ scrollWidth: doc.scrollWidth,
+ width: frame.width,
+ height: frame.height
+ });
+ var viewport = {
+ frame: frame,
+ scroll: {
+ initial: scroll,
+ current: scroll,
+ max: maxScroll,
+ diff: {
+ value: origin,
+ displacement: origin
+ }
+ }
+ };
+ return viewport;
+ });
+
+ var _Draggable$contextTyp;
+ var zIndexOptions = {
+ dragging: 5000,
+ dropAnimating: 4500
+ };
+
+ var getTranslate = function getTranslate(offset) {
+ if (isEqual(offset, origin)) {
+ return null;
+ }
+
+ return "translate(" + offset.x + "px, " + offset.y + "px)";
+ };
+
+ var getSpeed$1 = function getSpeed(isDragging, shouldAnimateDragMovement, isDropAnimating) {
+ if (isDropAnimating) {
+ return 'STANDARD';
+ }
+
+ if (isDragging && shouldAnimateDragMovement) {
+ return 'FAST';
+ }
+
+ return 'INSTANT';
+ };
+
+ var Draggable = function (_Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_8__babel_runtime_corejs2_helpers_esm_inheritsLoose__["a" /* default */])(Draggable, _Component);
+
+ function Draggable(props, context) {
+ var _this;
+
+ _this = _Component.call(this, props, context) || this;
+ _this.callbacks = void 0;
+ _this.styleContext = void 0;
+ _this.ref = null;
+
+ _this.onMoveEnd = function () {
+ if (_this.props.isDropAnimating) {
+ _this.props.dropAnimationFinished();
+ }
+ };
+
+ _this.onLift = function (options) {
+ start('LIFT');
+ var ref = _this.ref;
+ !ref ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ !!_this.props.isDragDisabled ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Cannot lift a Draggable when it is disabled') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ var clientSelection = options.clientSelection,
+ autoScrollMode = options.autoScrollMode;
+ var _this$props = _this.props,
+ lift = _this$props.lift,
+ draggableId = _this$props.draggableId;
+ var client = {
+ selection: clientSelection,
+ borderBoxCenter: getBorderBoxCenterPosition(ref),
+ offset: origin
+ };
+ lift({
+ id: draggableId,
+ client: client,
+ autoScrollMode: autoScrollMode,
+ viewport: getViewport()
+ });
+ finish('LIFT');
+ };
+
+ _this.setRef = function (ref) {
+ if (ref === null) {
+ return;
+ }
+
+ if (ref === _this.ref) {
+ return;
+ }
+
+ _this.ref = ref;
+ throwIfRefIsInvalid(ref);
+ };
+
+ _this.getDraggableRef = function () {
+ return _this.ref;
+ };
+
+ _this.getDraggingStyle = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (change, dimension, isDropAnimating) {
+ var box = dimension.client;
+ var style = {
+ position: 'fixed',
+ top: box.marginBox.top,
+ left: box.marginBox.left,
+ boxSizing: 'border-box',
+ width: box.borderBox.width,
+ height: box.borderBox.height,
+ transition: 'none',
+ zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,
+ transform: getTranslate(change),
+ pointerEvents: 'none'
+ };
+ return style;
+ });
+ _this.getNotDraggingStyle = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (current, shouldAnimateDisplacement) {
+ var style = {
+ transform: getTranslate(current),
+ transition: shouldAnimateDisplacement ? null : 'none'
+ };
+ return style;
+ });
+ _this.getProvided = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (change, isDragging, isDropAnimating, shouldAnimateDisplacement, dimension, dragHandleProps) {
+ var useDraggingStyle = isDragging || isDropAnimating;
+
+ var draggableStyle = function () {
+ if (!useDraggingStyle) {
+ return _this.getNotDraggingStyle(change, shouldAnimateDisplacement);
+ }
+
+ !dimension ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'draggable dimension required for dragging') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return _this.getDraggingStyle(change, dimension, isDropAnimating);
+ }();
+
+ var provided = {
+ innerRef: _this.setRef,
+ draggableProps: {
+ 'data-react-beautiful-dnd-draggable': _this.styleContext,
+ style: draggableStyle
+ },
+ dragHandleProps: dragHandleProps
+ };
+ return provided;
+ });
+ _this.getSnapshot = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (isDragging, isDropAnimating, draggingOver) {
+ return {
+ isDragging: isDragging || isDropAnimating,
+ isDropAnimating: isDropAnimating,
+ draggingOver: draggingOver
+ };
+ });
+
+ _this.renderChildren = function (change, dragHandleProps) {
+ var _this$props2 = _this.props,
+ isDragging = _this$props2.isDragging,
+ isDropAnimating = _this$props2.isDropAnimating,
+ dimension = _this$props2.dimension,
+ draggingOver = _this$props2.draggingOver,
+ shouldAnimateDisplacement = _this$props2.shouldAnimateDisplacement,
+ children = _this$props2.children;
+ var child = children(_this.getProvided(change, isDragging, isDropAnimating, shouldAnimateDisplacement, dimension, dragHandleProps), _this.getSnapshot(isDragging, isDropAnimating, draggingOver));
+ var isDraggingOrDropping = isDragging || isDropAnimating;
+
+ var placeholder = function () {
+ if (!isDraggingOrDropping) {
+ return null;
+ }
+
+ !dimension ? process.env.NODE_ENV !== "production" ? Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false, 'Draggable: Dimension is required for dragging') : Object(__WEBPACK_IMPORTED_MODULE_1_tiny_invariant__["a" /* default */])(false) : void 0;
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(Placeholder, {
+ placeholder: dimension.placeholder
+ });
+ }();
+
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9_react__["Fragment"], null, child, placeholder);
+ };
+
+ var callbacks = {
+ onLift: _this.onLift,
+ onMove: function onMove(clientSelection) {
+ return props.move({
+ client: clientSelection,
+ shouldAnimate: false
+ });
+ },
+ onDrop: function onDrop() {
+ return props.drop({
+ reason: 'DROP'
+ });
+ },
+ onCancel: function onCancel() {
+ return props.drop({
+ reason: 'CANCEL'
+ });
+ },
+ onMoveUp: props.moveUp,
+ onMoveDown: props.moveDown,
+ onMoveRight: props.moveRight,
+ onMoveLeft: props.moveLeft,
+ onWindowScroll: function onWindowScroll() {
+ return props.moveByWindowScroll({
+ scroll: getWindowScroll()
+ });
+ }
+ };
+ _this.callbacks = callbacks;
+ _this.styleContext = context[styleContextKey];
+ return _this;
+ }
+
+ var _proto = Draggable.prototype;
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ this.ref = null;
+ };
+
+ _proto.render = function render() {
+ var _this2 = this;
+
+ var _this$props3 = this.props,
+ draggableId = _this$props3.draggableId,
+ index = _this$props3.index,
+ offset = _this$props3.offset,
+ isDragging = _this$props3.isDragging,
+ isDropAnimating = _this$props3.isDropAnimating,
+ isDragDisabled = _this$props3.isDragDisabled,
+ shouldAnimateDragMovement = _this$props3.shouldAnimateDragMovement,
+ disableInteractiveElementBlocking = _this$props3.disableInteractiveElementBlocking;
+ var droppableId = this.context[droppableIdKey];
+ var type = this.context[droppableTypeKey];
+ var speed = getSpeed$1(isDragging, shouldAnimateDragMovement, isDropAnimating);
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(DraggableDimensionPublisher, {
+ key: draggableId,
+ draggableId: draggableId,
+ droppableId: droppableId,
+ type: type,
+ index: index,
+ getDraggableRef: this.getDraggableRef
+ }, __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(Moveable, {
+ speed: speed,
+ destination: offset,
+ onMoveEnd: this.onMoveEnd
+ }, function (change) {
+ return __WEBPACK_IMPORTED_MODULE_9_react___default.a.createElement(DragHandle, {
+ draggableId: draggableId,
+ isDragging: isDragging,
+ isDropAnimating: isDropAnimating,
+ isEnabled: !isDragDisabled,
+ callbacks: _this2.callbacks,
+ getDraggableRef: _this2.getDraggableRef,
+ canDragInteractiveElements: disableInteractiveElementBlocking
+ }, function (dragHandleProps) {
+ return _this2.renderChildren(change, dragHandleProps);
+ });
+ }));
+ };
+
+ return Draggable;
+ }(__WEBPACK_IMPORTED_MODULE_9_react__["Component"]);
+
+ Draggable.contextTypes = (_Draggable$contextTyp = {}, _Draggable$contextTyp[droppableIdKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _Draggable$contextTyp[droppableTypeKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _Draggable$contextTyp[styleContextKey] = __WEBPACK_IMPORTED_MODULE_10_prop_types___default.a.string.isRequired, _Draggable$contextTyp);
+
+ var defaultMapProps = {
+ isDropAnimating: false,
+ isDragging: false,
+ offset: origin,
+ shouldAnimateDragMovement: false,
+ shouldAnimateDisplacement: true,
+ dimension: null,
+ draggingOver: null
+ };
+ var makeMapStateToProps$1 = function makeMapStateToProps() {
+ var memoizedOffset = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (x, y) {
+ return {
+ x: x,
+ y: y
+ };
+ });
+ var getNotDraggingProps = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (offset, shouldAnimateDisplacement) {
+ return {
+ isDropAnimating: false,
+ isDragging: false,
+ offset: offset,
+ shouldAnimateDisplacement: shouldAnimateDisplacement,
+ shouldAnimateDragMovement: false,
+ dimension: null,
+ draggingOver: null
+ };
+ });
+ var getDraggingProps = Object(__WEBPACK_IMPORTED_MODULE_4_memoize_one__["a" /* default */])(function (offset, shouldAnimateDragMovement, dimension, draggingOver) {
+ return {
+ isDragging: true,
+ isDropAnimating: false,
+ shouldAnimateDisplacement: false,
+ offset: offset,
+ shouldAnimateDragMovement: shouldAnimateDragMovement,
+ dimension: dimension,
+ draggingOver: draggingOver
+ };
+ });
+
+ var getOutOfTheWayMovement = function getOutOfTheWayMovement(id, movement) {
+ var map = getDisplacementMap(movement.displaced);
+ var displacement = map[id];
+
+ if (!displacement) {
+ return null;
+ }
+
+ if (!displacement.isVisible) {
+ return null;
+ }
+
+ var amount = movement.isBeyondStartPosition ? negate(movement.amount) : movement.amount;
+ return getNotDraggingProps(memoizedOffset(amount.x, amount.y), displacement.shouldAnimate);
+ };
+
+ var draggingSelector = function draggingSelector(state, ownProps) {
+ if (state.isDragging) {
+ if (state.critical.draggable.id !== ownProps.draggableId) {
+ return null;
+ }
+
+ var offset = state.current.client.offset;
+ var dimension = state.dimensions.draggables[ownProps.draggableId];
+ var shouldAnimateDragMovement = state.shouldAnimate;
+ var draggingOver = state.impact.destination ? state.impact.destination.droppableId : null;
+ return getDraggingProps(memoizedOffset(offset.x, offset.y), shouldAnimateDragMovement, dimension, draggingOver);
+ }
+
+ if (state.phase === 'DROP_ANIMATING') {
+ var pending = state.pending;
+
+ if (pending.result.draggableId !== ownProps.draggableId) {
+ return null;
+ }
+
+ var _draggingOver = pending.result.destination ? pending.result.destination.droppableId : null;
+
+ return {
+ isDragging: false,
+ isDropAnimating: true,
+ offset: pending.newHomeOffset,
+ dimension: state.dimensions.draggables[ownProps.draggableId],
+ draggingOver: _draggingOver,
+ shouldAnimateDragMovement: false,
+ shouldAnimateDisplacement: false
+ };
+ }
+
+ return null;
+ };
+
+ var movingOutOfTheWaySelector = function movingOutOfTheWaySelector(state, ownProps) {
+ if (state.isDragging) {
+ if (state.critical.draggable.id === ownProps.draggableId) {
+ return null;
+ }
+
+ return getOutOfTheWayMovement(ownProps.draggableId, state.impact.movement);
+ }
+
+ if (state.phase === 'DROP_ANIMATING') {
+ if (state.pending.result.draggableId === ownProps.draggableId) {
+ return null;
+ }
+
+ return getOutOfTheWayMovement(ownProps.draggableId, state.pending.impact.movement);
+ }
+
+ return null;
+ };
+
+ var selector = function selector(state, ownProps) {
+ var dragging = draggingSelector(state, ownProps);
+
+ if (dragging) {
+ return dragging;
+ }
+
+ var movingOutOfTheWay = movingOutOfTheWaySelector(state, ownProps);
+
+ if (movingOutOfTheWay) {
+ return movingOutOfTheWay;
+ }
+
+ return defaultMapProps;
+ };
+
+ return selector;
+ };
+ var mapDispatchToProps = {
+ lift: lift,
+ move: move,
+ moveUp: moveUp,
+ moveDown: moveDown,
+ moveLeft: moveLeft,
+ moveRight: moveRight,
+ moveByWindowScroll: moveByWindowScroll,
+ drop: drop,
+ dropAnimationFinished: dropAnimationFinished
+ };
+ var ConnectedDraggable = Object(__WEBPACK_IMPORTED_MODULE_11_react_redux__["a" /* connect */])(makeMapStateToProps$1, mapDispatchToProps, null, {
+ storeKey: storeKey,
+ pure: true,
+ areStatePropsEqual: isStrictEqual
+ })(Draggable);
+ ConnectedDraggable.defaultProps = {
+ isDragDisabled: false,
+ disableInteractiveElementBlocking: false
+ };
+
+
+
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5)))
+
+ /***/ }),
+ /* 29 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var store = __webpack_require__(126)('wks');
+ var uid = __webpack_require__(88);
+ var Symbol = __webpack_require__(39).Symbol;
+ var USE_SYMBOL = typeof Symbol == 'function';
+
+ var $exports = module.exports = function (name) {
+ return store[name] || (store[name] =
+ USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+ };
+
+ $exports.store = store;
+
+
+ /***/ }),
+ /* 30 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+
+ function omit(obj, fields) {
+ var shallowCopy = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, obj);
+ for (var i = 0; i < fields.length; i++) {
+ var key = fields[i];
+ delete shallowCopy[key];
+ }
+ return shallowCopy;
+ }
+
+ /* harmony default export */ __webpack_exports__["default"] = (omit);
+
+ /***/ }),
+ /* 31 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = style;
+
+ var _camelizeStyle = __webpack_require__(275);
+
+ var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);
+
+ var _hyphenateStyle = __webpack_require__(880);
+
+ var _hyphenateStyle2 = _interopRequireDefault(_hyphenateStyle);
+
+ var _getComputedStyle2 = __webpack_require__(882);
+
+ var _getComputedStyle3 = _interopRequireDefault(_getComputedStyle2);
+
+ var _removeStyle = __webpack_require__(883);
+
+ var _removeStyle2 = _interopRequireDefault(_removeStyle);
+
+ var _properties = __webpack_require__(27);
+
+ var _isTransform = __webpack_require__(884);
+
+ var _isTransform2 = _interopRequireDefault(_isTransform);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function style(node, property, value) {
+ var css = '';
+ var transforms = '';
+ var props = property;
+
+ if (typeof property === 'string') {
+ if (value === undefined) {
+ return node.style[(0, _camelizeStyle2.default)(property)] || (0, _getComputedStyle3.default)(node).getPropertyValue((0, _hyphenateStyle2.default)(property));
+ } else {
+ (props = {})[property] = value;
+ }
+ }
+
+ Object.keys(props).forEach(function (key) {
+ var value = props[key];
+ if (!value && value !== 0) {
+ (0, _removeStyle2.default)(node, (0, _hyphenateStyle2.default)(key));
+ } else if ((0, _isTransform2.default)(key)) {
+ transforms += key + '(' + value + ') ';
+ } else {
+ css += (0, _hyphenateStyle2.default)(key) + ': ' + value + ';';
+ }
+ });
+
+ if (transforms) {
+ css += _properties.transform + ': ' + transforms + ';';
+ }
+
+ node.style.cssText += ';' + css;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 32 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports.getTodayTime = getTodayTime;
+ exports.getTitleString = getTitleString;
+ exports.getTodayTimeStr = getTodayTimeStr;
+ exports.getMonthName = getMonthName;
+ exports.syncTime = syncTime;
+ exports.getTimeConfig = getTimeConfig;
+ exports.isTimeValidByConfig = isTimeValidByConfig;
+ exports.isTimeValid = isTimeValid;
+ exports.isAllowedDate = isAllowedDate;
+ exports.formatDate = formatDate;
+
+ var _moment = __webpack_require__(4);
+
+ var _moment2 = _interopRequireDefault(_moment);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ var defaultDisabledTime = {
+ disabledHours: function disabledHours() {
+ return [];
+ },
+ disabledMinutes: function disabledMinutes() {
+ return [];
+ },
+ disabledSeconds: function disabledSeconds() {
+ return [];
+ }
+ };
+
+ function getTodayTime(value) {
+ var today = (0, _moment2["default"])();
+ if (typeof value !== 'undefined') {
+ today.locale(value.locale()).utcOffset(value.utcOffset());
+ }
+ return today;
+ }
+
+ function getTitleString(value) {
+ return value.format('LL');
+ }
+
+ function getTodayTimeStr(value) {
+ var today = getTodayTime(value);
+ return getTitleString(today);
+ }
+
+ function getMonthName(month) {
+ var locale = month.locale();
+ var localeData = month.localeData();
+ return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);
+ }
+
+ function syncTime(from, to) {
+ if (!_moment2["default"].isMoment(from) || !_moment2["default"].isMoment(to)) return;
+ to.hour(from.hour());
+ to.minute(from.minute());
+ to.second(from.second());
+ }
+
+ function getTimeConfig(value, disabledTime) {
+ var disabledTimeConfig = disabledTime ? disabledTime(value) : {};
+ disabledTimeConfig = _extends({}, defaultDisabledTime, disabledTimeConfig);
+ return disabledTimeConfig;
+ }
+
+ function isTimeValidByConfig(value, disabledTimeConfig) {
+ var invalidTime = false;
+ if (value) {
+ var hour = value.hour();
+ var minutes = value.minute();
+ var seconds = value.second();
+ var disabledHours = disabledTimeConfig.disabledHours();
+ if (disabledHours.indexOf(hour) === -1) {
+ var disabledMinutes = disabledTimeConfig.disabledMinutes(hour);
+ if (disabledMinutes.indexOf(minutes) === -1) {
+ var disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);
+ invalidTime = disabledSeconds.indexOf(seconds) !== -1;
+ } else {
+ invalidTime = true;
+ }
+ } else {
+ invalidTime = true;
+ }
+ }
+ return !invalidTime;
+ }
+
+ function isTimeValid(value, disabledTime) {
+ var disabledTimeConfig = getTimeConfig(value, disabledTime);
+ return isTimeValidByConfig(value, disabledTimeConfig);
+ }
+
+ function isAllowedDate(value, disabledDate, disabledTime) {
+ if (disabledDate) {
+ if (disabledDate(value)) {
+ return false;
+ }
+ }
+ if (disabledTime) {
+ if (!isTimeValid(value, disabledTime)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ function formatDate(value, format) {
+ if (!value) {
+ return '';
+ }
+
+ if (Array.isArray(format)) {
+ format = format[0];
+ }
+
+ return value.format(format);
+ }
+
+ /***/ }),
+ /* 33 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1354);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1355);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1356);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1357);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1358);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1359);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1360);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1361);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1362);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(485);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1363);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1365);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1366);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 34 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["h"] = findPopupContainer;
+ /* harmony export (immutable) */ __webpack_exports__["r"] = toTitle;
+ /* unused harmony export toArray */
+ /* harmony export (immutable) */ __webpack_exports__["g"] = createRef;
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UNSELECTABLE_STYLE; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UNSELECTABLE_ATTRIBUTE; });
+ /* harmony export (immutable) */ __webpack_exports__["i"] = flatToHierarchy;
+ /* unused harmony export resetAriaId */
+ /* harmony export (immutable) */ __webpack_exports__["l"] = generateAriaId;
+ /* harmony export (immutable) */ __webpack_exports__["o"] = isLabelInValue;
+ /* harmony export (immutable) */ __webpack_exports__["q"] = parseSimpleTreeData;
+ /* harmony export (immutable) */ __webpack_exports__["p"] = isPosRelated;
+ /* harmony export (immutable) */ __webpack_exports__["c"] = cleanEntity;
+ /* harmony export (immutable) */ __webpack_exports__["m"] = getFilterTree;
+ /* harmony export (immutable) */ __webpack_exports__["j"] = formatInternalValue;
+ /* unused harmony export getLabel */
+ /* harmony export (immutable) */ __webpack_exports__["k"] = formatSelectorValue;
+ /* harmony export (immutable) */ __webpack_exports__["e"] = convertDataToTree;
+ /* harmony export (immutable) */ __webpack_exports__["f"] = convertTreeToEntities;
+ /* harmony export (immutable) */ __webpack_exports__["n"] = getHalfCheckedKeys;
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return conductCheck; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_warning__ = __webpack_require__(1667);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_warning__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rc_tree_es_util__ = __webpack_require__(208);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_util_es_Children_toArray__ = __webpack_require__(119);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rc_util_es_Dom_class__ = __webpack_require__(1672);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__strategies__ = __webpack_require__(209);
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+
+
+
+
+
+
+ var warnDeprecatedLabel = false; // =================== DOM =====================
+
+ function findPopupContainer(node, prefixClass) {
+ var current = node;
+
+ while (current) {
+ if (Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Dom_class__["a" /* hasClass */])(current, prefixClass)) {
+ return current;
+ }
+
+ current = current.parentNode;
+ }
+
+ return null;
+ } // =================== MISC ====================
+
+ function toTitle(title) {
+ if (typeof title === 'string') {
+ return title;
+ }
+
+ return null;
+ }
+ function toArray(data) {
+ if (data === undefined || data === null) return [];
+ return Array.isArray(data) ? data : [data];
+ } // Shallow copy of React 16.3 createRef api
+
+ function createRef() {
+ var func = function setRef(node) {
+ func.current = node;
+ };
+
+ return func;
+ } // =============== Legacy ===============
+
+ var UNSELECTABLE_STYLE = {
+ userSelect: 'none',
+ WebkitUserSelect: 'none'
+ };
+ var UNSELECTABLE_ATTRIBUTE = {
+ unselectable: 'unselectable'
+ };
+ /**
+ * Convert position list to hierarchy structure.
+ * This is little hack since use '-' to split the position.
+ */
+
+ function flatToHierarchy(positionList) {
+ if (!positionList.length) {
+ return [];
+ }
+
+ var entrances = {}; // Prepare the position map
+
+ var posMap = {};
+ var parsedList = positionList.slice().map(function (entity) {
+ var clone = _objectSpread({}, entity, {
+ fields: entity.pos.split('-')
+ });
+
+ delete clone.children;
+ return clone;
+ });
+ parsedList.forEach(function (entity) {
+ posMap[entity.pos] = entity;
+ });
+ parsedList.sort(function (a, b) {
+ return a.fields.length - b.fields.length;
+ }); // Create the hierarchy
+
+ parsedList.forEach(function (entity) {
+ var parentPos = entity.fields.slice(0, -1).join('-');
+ var parentEntity = posMap[parentPos];
+
+ if (!parentEntity) {
+ entrances[entity.pos] = entity;
+ } else {
+ parentEntity.children = parentEntity.children || [];
+ parentEntity.children.push(entity);
+ } // Some time position list provide `key`, we don't need it
+
+
+ delete entity.key;
+ delete entity.fields;
+ });
+ return Object.keys(entrances).map(function (key) {
+ return entrances[key];
+ });
+ } // =============== Accessibility ===============
+
+ var ariaId = 0;
+ function resetAriaId() {
+ ariaId = 0;
+ }
+ function generateAriaId(prefix) {
+ ariaId += 1;
+ return "".concat(prefix, "_").concat(ariaId);
+ }
+ function isLabelInValue(props) {
+ var treeCheckable = props.treeCheckable,
+ treeCheckStrictly = props.treeCheckStrictly,
+ labelInValue = props.labelInValue;
+
+ if (treeCheckable && treeCheckStrictly) {
+ return true;
+ }
+
+ return labelInValue || false;
+ } // =================== Tree ====================
+
+ function parseSimpleTreeData(treeData, _ref) {
+ var id = _ref.id,
+ pId = _ref.pId,
+ rootPId = _ref.rootPId;
+ var keyNodes = {};
+ var rootNodeList = []; // Fill in the map
+
+ var nodeList = treeData.map(function (node) {
+ var clone = _objectSpread({}, node);
+
+ var key = clone[id];
+ keyNodes[key] = clone;
+ clone.key = clone.key || key;
+ return clone;
+ }); // Connect tree
+
+ nodeList.forEach(function (node) {
+ var parentKey = node[pId];
+ var parent = keyNodes[parentKey]; // Fill parent
+
+ if (parent) {
+ parent.children = parent.children || [];
+ parent.children.push(node);
+ } // Fill root tree node
+
+
+ if (parentKey === rootPId || !parent && rootPId === null) {
+ rootNodeList.push(node);
+ }
+ });
+ return rootNodeList;
+ }
+ /**
+ * Detect if position has relation.
+ * e.g. 1-2 related with 1-2-3
+ * e.g. 1-3-2 related with 1
+ * e.g. 1-2 not related with 1-21
+ */
+
+ function isPosRelated(pos1, pos2) {
+ var fields1 = pos1.split('-');
+ var fields2 = pos2.split('-');
+ var minLen = Math.min(fields1.length, fields2.length);
+
+ for (var i = 0; i < minLen; i += 1) {
+ if (fields1[i] !== fields2[i]) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+ /**
+ * This function is only used on treeNode check (none treeCheckStrictly but has searchInput).
+ * We convert entity to { node, pos, children } format.
+ * This is legacy bug but we still need to do with it.
+ * @param entity
+ */
+
+ function cleanEntity(_ref2) {
+ var node = _ref2.node,
+ pos = _ref2.pos,
+ children = _ref2.children;
+ var instance = {
+ node: node,
+ pos: pos
+ };
+
+ if (children) {
+ instance.children = children.map(cleanEntity);
+ }
+
+ return instance;
+ }
+ /**
+ * Get a filtered TreeNode list by provided treeNodes.
+ * [Legacy] Since `Tree` use `key` as map but `key` will changed by React,
+ * we have to convert `treeNodes > data > treeNodes` to keep the key.
+ * Such performance hungry!
+ *
+ * We pass `Component` as argument is to fix eslint issue.
+ */
+
+ function getFilterTree(treeNodes, searchValue, filterFunc, valueEntities, Component) {
+ if (!searchValue) {
+ return null;
+ }
+
+ function mapFilteredNodeToData(node) {
+ if (!node) return null;
+ var match = false;
+
+ if (filterFunc(searchValue, node)) {
+ match = true;
+ }
+
+ var children = Object(__WEBPACK_IMPORTED_MODULE_3_rc_util_es_Children_toArray__["a" /* default */])(node.props.children).map(mapFilteredNodeToData).filter(function (n) {
+ return n;
+ });
+
+ if (children.length || match) {
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Component, _extends({}, node.props, {
+ key: valueEntities[node.props.value].key
+ }), children);
+ }
+
+ return null;
+ }
+
+ return treeNodes.map(mapFilteredNodeToData).filter(function (node) {
+ return node;
+ });
+ } // =================== Value ===================
+
+ /**
+ * Convert value to array format to make logic simplify.
+ */
+
+ function formatInternalValue(value, props) {
+ var valueList = toArray(value); // Parse label in value
+
+ if (isLabelInValue(props)) {
+ return valueList.map(function (val) {
+ if (typeof val !== 'object' || !val) {
+ return {
+ value: '',
+ label: ''
+ };
+ }
+
+ return val;
+ });
+ }
+
+ return valueList.map(function (val) {
+ return {
+ value: val
+ };
+ });
+ }
+ function getLabel(wrappedValue, entity, treeNodeLabelProp) {
+ if (wrappedValue.label) {
+ return wrappedValue.label;
+ }
+
+ if (entity && entity.node.props) {
+ return entity.node.props[treeNodeLabelProp];
+ } // Since value without entity will be in missValueList.
+ // This code will never reached, but we still need this in case.
+
+
+ return wrappedValue.value;
+ }
+ /**
+ * Convert internal state `valueList` to user needed value list.
+ * This will return an array list. You need check if is not multiple when return.
+ *
+ * `allCheckedNodes` is used for `treeCheckStrictly`
+ */
+
+ function formatSelectorValue(valueList, props, valueEntities) {
+ var treeNodeLabelProp = props.treeNodeLabelProp,
+ treeCheckable = props.treeCheckable,
+ treeCheckStrictly = props.treeCheckStrictly,
+ showCheckedStrategy = props.showCheckedStrategy; // Will hide some value if `showCheckedStrategy` is set
+
+ if (treeCheckable && !treeCheckStrictly) {
+ var values = {};
+ valueList.forEach(function (wrappedValue) {
+ values[wrappedValue.value] = wrappedValue;
+ });
+ var hierarchyList = flatToHierarchy(valueList.map(function (_ref3) {
+ var value = _ref3.value;
+ return valueEntities[value];
+ }));
+
+ if (showCheckedStrategy === __WEBPACK_IMPORTED_MODULE_5__strategies__["c" /* SHOW_PARENT */]) {
+ // Only get the parent checked value
+ return hierarchyList.map(function (_ref4) {
+ var value = _ref4.node.props.value;
+ return {
+ label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),
+ value: value
+ };
+ });
+ }
+
+ if (showCheckedStrategy === __WEBPACK_IMPORTED_MODULE_5__strategies__["b" /* SHOW_CHILD */]) {
+ // Only get the children checked value
+ var targetValueList = []; // Find the leaf children
+
+ var traverse = function traverse(_ref5) {
+ var value = _ref5.node.props.value,
+ children = _ref5.children;
+
+ if (!children || children.length === 0) {
+ targetValueList.push({
+ label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),
+ value: value
+ });
+ return;
+ }
+
+ children.forEach(function (entity) {
+ traverse(entity);
+ });
+ };
+
+ hierarchyList.forEach(function (entity) {
+ traverse(entity);
+ });
+ return targetValueList;
+ }
+ }
+
+ return valueList.map(function (wrappedValue) {
+ return {
+ label: getLabel(wrappedValue, valueEntities[wrappedValue.value], treeNodeLabelProp),
+ value: wrappedValue.value
+ };
+ });
+ }
+ /**
+ * Use `rc-tree` convertDataToTree to convert treeData to TreeNodes.
+ * This will change the label to title value
+ */
+
+ function processProps(props) {
+ var title = props.title,
+ label = props.label,
+ key = props.key,
+ value = props.value;
+
+ var cloneProps = _objectSpread({}, props); // Warning user not to use deprecated label prop.
+
+
+ if (label && !title) {
+ if (!warnDeprecatedLabel) {
+ __WEBPACK_IMPORTED_MODULE_1_warning___default()(false, "'label' in treeData is deprecated. Please use 'title' instead.");
+ warnDeprecatedLabel = true;
+ }
+
+ cloneProps.title = label;
+ }
+
+ if (!key) {
+ cloneProps.key = value;
+ }
+
+ return cloneProps;
+ }
+
+ function convertDataToTree(treeData) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2_rc_tree_es_util__["g" /* convertDataToTree */])(treeData, {
+ processProps: processProps
+ });
+ }
+ /**
+ * Use `rc-tree` convertTreeToEntities for entities calculation.
+ * We have additional entities of `valueEntities`
+ */
+
+ function initWrapper(wrapper) {
+ return _objectSpread({}, wrapper, {
+ valueEntities: {}
+ });
+ }
+
+ function processEntity(entity, wrapper) {
+ var value = entity.node.props.value;
+ entity.value = value; // This should be empty, or will get error message.
+
+ var currentEntity = wrapper.valueEntities[value];
+
+ if (currentEntity) {
+ __WEBPACK_IMPORTED_MODULE_1_warning___default()(false, "Conflict! value of node '".concat(entity.key, "' (").concat(value, ") has already used by node '").concat(currentEntity.key, "'."));
+ }
+
+ wrapper.valueEntities[value] = entity;
+ }
+
+ function convertTreeToEntities(treeNodes) {
+ return Object(__WEBPACK_IMPORTED_MODULE_2_rc_tree_es_util__["h" /* convertTreeToEntities */])(treeNodes, {
+ initWrapper: initWrapper,
+ processEntity: processEntity
+ });
+ }
+ /**
+ * https://github.com/ant-design/ant-design/issues/13328
+ * We need calculate the half check key when searchValue is set.
+ */
+ // TODO: This logic may better move to rc-tree
+
+ function getHalfCheckedKeys(valueList, valueEntities) {
+ var values = {}; // Fill checked keys
+
+ valueList.forEach(function (_ref6) {
+ var value = _ref6.value;
+ values[value] = false;
+ }); // Fill half checked keys
+
+ valueList.forEach(function (_ref7) {
+ var value = _ref7.value;
+ var current = valueEntities[value];
+
+ while (current && current.parent) {
+ var parentValue = current.parent.value;
+ if (parentValue in values) break;
+ values[parentValue] = true;
+ current = current.parent;
+ }
+ }); // Get half keys
+
+ return Object.keys(values).filter(function (value) {
+ return values[value];
+ }).map(function (value) {
+ return valueEntities[value].key;
+ });
+ }
+ var conductCheck = __WEBPACK_IMPORTED_MODULE_2_rc_tree_es_util__["e" /* conductCheck */];
+
+ /***/ }),
+ /* 35 */
+ /***/ (function(module, exports) {
+
+ var g;
+
+ // This works in non-strict mode
+ g = (function() {
+ return this;
+ })();
+
+ try {
+ // This works if eval is allowed (see CSP)
+ g = g || Function("return this")() || (1,eval)("this");
+ } catch(e) {
+ // This works if the window reference is available
+ if(typeof window === "object")
+ g = window;
+ }
+
+ // g can still be undefined, but nothing to do about it...
+ // We return undefined, instead of nothing here, so it's
+ // easier to handle this case. if(!global) { ...}
+
+ module.exports = g;
+
+
+ /***/ }),
+ /* 36 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(836)
+ , root = typeof window === 'undefined' ? global : window
+ , vendors = ['moz', 'webkit']
+ , suffix = 'AnimationFrame'
+ , raf = root['request' + suffix]
+ , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]
+
+ for(var i = 0; !raf && i < vendors.length; i++) {
+ raf = root[vendors[i] + 'Request' + suffix]
+ caf = root[vendors[i] + 'Cancel' + suffix]
+ || root[vendors[i] + 'CancelRequest' + suffix]
+ }
+
+ // Some versions of FF have rAF but not cAF
+ if(!raf || !caf) {
+ var last = 0
+ , id = 0
+ , queue = []
+ , frameDuration = 1000 / 60
+
+ raf = function(callback) {
+ if(queue.length === 0) {
+ var _now = now()
+ , next = Math.max(0, frameDuration - (_now - last))
+ last = next + _now
+ setTimeout(function() {
+ var cp = queue.slice(0)
+ // Clear queue here to prevent
+ // callbacks from appending listeners
+ // to the current frame's queue
+ queue.length = 0
+ for(var i = 0; i < cp.length; i++) {
+ if(!cp[i].cancelled) {
+ try{
+ cp[i].callback(last)
+ } catch(e) {
+ setTimeout(function() { throw e }, 0)
+ }
+ }
+ }
+ }, Math.round(next))
+ }
+ queue.push({
+ handle: ++id,
+ callback: callback,
+ cancelled: false
+ })
+ return id
+ }
+
+ caf = function(handle) {
+ for(var i = 0; i < queue.length; i++) {
+ if(queue[i].handle === handle) {
+ queue[i].cancelled = true
+ }
+ }
+ }
+ }
+
+ module.exports = function(fn) {
+ // Wrap in a new function to prevent
+ // `cancel` potentially being assigned
+ // to the native rAF function
+ return raf.call(root, fn)
+ }
+ module.exports.cancel = function() {
+ caf.apply(root, arguments)
+ }
+ module.exports.polyfill = function(object) {
+ if (!object) {
+ object = root;
+ }
+ object.requestAnimationFrame = raf
+ object.cancelAnimationFrame = caf
+ }
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35)))
+
+ /***/ }),
+ /* 37 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+ */
+ /* global define */
+
+ (function () {
+ 'use strict';
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames () {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ if (typeof module !== 'undefined' && module.exports) {
+ classNames.default = classNames;
+ module.exports = classNames;
+ } else if (true) {
+ // register as 'classnames', consistent with npm package name
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+ return classNames;
+ }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else {
+ window.classNames = classNames;
+ }
+ }());
+
+
+ /***/ }),
+ /* 38 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var global = __webpack_require__(39);
+ var core = __webpack_require__(24);
+ var ctx = __webpack_require__(120);
+ var hide = __webpack_require__(50);
+ var has = __webpack_require__(47);
+ var PROTOTYPE = 'prototype';
+
+ var $export = function (type, name, source) {
+ var IS_FORCED = type & $export.F;
+ var IS_GLOBAL = type & $export.G;
+ var IS_STATIC = type & $export.S;
+ var IS_PROTO = type & $export.P;
+ var IS_BIND = type & $export.B;
+ var IS_WRAP = type & $export.W;
+ var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
+ var expProto = exports[PROTOTYPE];
+ var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
+ var key, own, out;
+ if (IS_GLOBAL) source = name;
+ for (key in source) {
+ // contains in native
+ own = !IS_FORCED && target && target[key] !== undefined;
+ if (own && has(exports, key)) continue;
+ // export native or passed
+ out = own ? target[key] : source[key];
+ // prevent global pollution for namespaces
+ exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
+ // bind timers to global for call from export context
+ : IS_BIND && own ? ctx(out, global)
+ // wrap global constructors for prevent change them in library
+ : IS_WRAP && target[key] == out ? (function (C) {
+ var F = function (a, b, c) {
+ if (this instanceof C) {
+ switch (arguments.length) {
+ case 0: return new C();
+ case 1: return new C(a);
+ case 2: return new C(a, b);
+ } return new C(a, b, c);
+ } return C.apply(this, arguments);
+ };
+ F[PROTOTYPE] = C[PROTOTYPE];
+ return F;
+ // make static versions for prototype methods
+ })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
+ // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
+ if (IS_PROTO) {
+ (exports.virtual || (exports.virtual = {}))[key] = out;
+ // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
+ if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
+ }
+ }
+ };
+ // type bitmap
+ $export.F = 1; // forced
+ $export.G = 2; // global
+ $export.S = 4; // static
+ $export.P = 8; // proto
+ $export.B = 16; // bind
+ $export.W = 32; // wrap
+ $export.U = 64; // safe
+ $export.R = 128; // real proto method for `library`
+ module.exports = $export;
+
+
+ /***/ }),
+ /* 39 */
+ /***/ (function(module, exports) {
+
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
+ ? window : typeof self != 'undefined' && self.Math == Math ? self
+ // eslint-disable-next-line no-new-func
+ : Function('return this')();
+ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
+
+
+ /***/ }),
+ /* 40 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var anObject = __webpack_require__(51);
+ var IE8_DOM_DEFINE = __webpack_require__(216);
+ var toPrimitive = __webpack_require__(121);
+ var dP = Object.defineProperty;
+
+ exports.f = __webpack_require__(41) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
+ anObject(O);
+ P = toPrimitive(P, true);
+ anObject(Attributes);
+ if (IE8_DOM_DEFINE) try {
+ return dP(O, P, Attributes);
+ } catch (e) { /* empty */ }
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
+ if ('value' in Attributes) O[P] = Attributes.value;
+ return O;
+ };
+
+
+ /***/ }),
+ /* 41 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // Thank's IE8 for his funny defineProperty
+ module.exports = !__webpack_require__(53)(function () {
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
+ });
+
+
+ /***/ }),
+ /* 42 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (componentOrElement) {
+ return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
+ };
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 43 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /**
+ * @ignore
+ * some key-codes definition and utils from closure-library
+ * @author yiminghe@gmail.com
+ */
+ var KeyCode = {
+ /**
+ * MAC_ENTER
+ */
+ MAC_ENTER: 3,
+
+ /**
+ * BACKSPACE
+ */
+ BACKSPACE: 8,
+
+ /**
+ * TAB
+ */
+ TAB: 9,
+
+ /**
+ * NUMLOCK on FF/Safari Mac
+ */
+ NUM_CENTER: 12,
+
+ /**
+ * ENTER
+ */
+ ENTER: 13,
+
+ /**
+ * SHIFT
+ */
+ SHIFT: 16,
+
+ /**
+ * CTRL
+ */
+ CTRL: 17,
+
+ /**
+ * ALT
+ */
+ ALT: 18,
+
+ /**
+ * PAUSE
+ */
+ PAUSE: 19,
+
+ /**
+ * CAPS_LOCK
+ */
+ CAPS_LOCK: 20,
+
+ /**
+ * ESC
+ */
+ ESC: 27,
+
+ /**
+ * SPACE
+ */
+ SPACE: 32,
+
+ /**
+ * PAGE_UP
+ */
+ PAGE_UP: 33,
+
+ /**
+ * PAGE_DOWN
+ */
+ PAGE_DOWN: 34,
+
+ /**
+ * END
+ */
+ END: 35,
+
+ /**
+ * HOME
+ */
+ HOME: 36,
+
+ /**
+ * LEFT
+ */
+ LEFT: 37,
+
+ /**
+ * UP
+ */
+ UP: 38,
+
+ /**
+ * RIGHT
+ */
+ RIGHT: 39,
+
+ /**
+ * DOWN
+ */
+ DOWN: 40,
+
+ /**
+ * PRINT_SCREEN
+ */
+ PRINT_SCREEN: 44,
+
+ /**
+ * INSERT
+ */
+ INSERT: 45,
+
+ /**
+ * DELETE
+ */
+ DELETE: 46,
+
+ /**
+ * ZERO
+ */
+ ZERO: 48,
+
+ /**
+ * ONE
+ */
+ ONE: 49,
+
+ /**
+ * TWO
+ */
+ TWO: 50,
+
+ /**
+ * THREE
+ */
+ THREE: 51,
+
+ /**
+ * FOUR
+ */
+ FOUR: 52,
+
+ /**
+ * FIVE
+ */
+ FIVE: 53,
+
+ /**
+ * SIX
+ */
+ SIX: 54,
+
+ /**
+ * SEVEN
+ */
+ SEVEN: 55,
+
+ /**
+ * EIGHT
+ */
+ EIGHT: 56,
+
+ /**
+ * NINE
+ */
+ NINE: 57,
+
+ /**
+ * QUESTION_MARK
+ */
+ QUESTION_MARK: 63,
+
+ /**
+ * A
+ */
+ A: 65,
+
+ /**
+ * B
+ */
+ B: 66,
+
+ /**
+ * C
+ */
+ C: 67,
+
+ /**
+ * D
+ */
+ D: 68,
+
+ /**
+ * E
+ */
+ E: 69,
+
+ /**
+ * F
+ */
+ F: 70,
+
+ /**
+ * G
+ */
+ G: 71,
+
+ /**
+ * H
+ */
+ H: 72,
+
+ /**
+ * I
+ */
+ I: 73,
+
+ /**
+ * J
+ */
+ J: 74,
+
+ /**
+ * K
+ */
+ K: 75,
+
+ /**
+ * L
+ */
+ L: 76,
+
+ /**
+ * M
+ */
+ M: 77,
+
+ /**
+ * N
+ */
+ N: 78,
+
+ /**
+ * O
+ */
+ O: 79,
+
+ /**
+ * P
+ */
+ P: 80,
+
+ /**
+ * Q
+ */
+ Q: 81,
+
+ /**
+ * R
+ */
+ R: 82,
+
+ /**
+ * S
+ */
+ S: 83,
+
+ /**
+ * T
+ */
+ T: 84,
+
+ /**
+ * U
+ */
+ U: 85,
+
+ /**
+ * V
+ */
+ V: 86,
+
+ /**
+ * W
+ */
+ W: 87,
+
+ /**
+ * X
+ */
+ X: 88,
+
+ /**
+ * Y
+ */
+ Y: 89,
+
+ /**
+ * Z
+ */
+ Z: 90,
+
+ /**
+ * META
+ */
+ META: 91,
+
+ /**
+ * WIN_KEY_RIGHT
+ */
+ WIN_KEY_RIGHT: 92,
+
+ /**
+ * CONTEXT_MENU
+ */
+ CONTEXT_MENU: 93,
+
+ /**
+ * NUM_ZERO
+ */
+ NUM_ZERO: 96,
+
+ /**
+ * NUM_ONE
+ */
+ NUM_ONE: 97,
+
+ /**
+ * NUM_TWO
+ */
+ NUM_TWO: 98,
+
+ /**
+ * NUM_THREE
+ */
+ NUM_THREE: 99,
+
+ /**
+ * NUM_FOUR
+ */
+ NUM_FOUR: 100,
+
+ /**
+ * NUM_FIVE
+ */
+ NUM_FIVE: 101,
+
+ /**
+ * NUM_SIX
+ */
+ NUM_SIX: 102,
+
+ /**
+ * NUM_SEVEN
+ */
+ NUM_SEVEN: 103,
+
+ /**
+ * NUM_EIGHT
+ */
+ NUM_EIGHT: 104,
+
+ /**
+ * NUM_NINE
+ */
+ NUM_NINE: 105,
+
+ /**
+ * NUM_MULTIPLY
+ */
+ NUM_MULTIPLY: 106,
+
+ /**
+ * NUM_PLUS
+ */
+ NUM_PLUS: 107,
+
+ /**
+ * NUM_MINUS
+ */
+ NUM_MINUS: 109,
+
+ /**
+ * NUM_PERIOD
+ */
+ NUM_PERIOD: 110,
+
+ /**
+ * NUM_DIVISION
+ */
+ NUM_DIVISION: 111,
+
+ /**
+ * F1
+ */
+ F1: 112,
+
+ /**
+ * F2
+ */
+ F2: 113,
+
+ /**
+ * F3
+ */
+ F3: 114,
+
+ /**
+ * F4
+ */
+ F4: 115,
+
+ /**
+ * F5
+ */
+ F5: 116,
+
+ /**
+ * F6
+ */
+ F6: 117,
+
+ /**
+ * F7
+ */
+ F7: 118,
+
+ /**
+ * F8
+ */
+ F8: 119,
+
+ /**
+ * F9
+ */
+ F9: 120,
+
+ /**
+ * F10
+ */
+ F10: 121,
+
+ /**
+ * F11
+ */
+ F11: 122,
+
+ /**
+ * F12
+ */
+ F12: 123,
+
+ /**
+ * NUMLOCK
+ */
+ NUMLOCK: 144,
+
+ /**
+ * SEMICOLON
+ */
+ SEMICOLON: 186,
+
+ /**
+ * DASH
+ */
+ DASH: 189,
+
+ /**
+ * EQUALS
+ */
+ EQUALS: 187,
+
+ /**
+ * COMMA
+ */
+ COMMA: 188,
+
+ /**
+ * PERIOD
+ */
+ PERIOD: 190,
+
+ /**
+ * SLASH
+ */
+ SLASH: 191,
+
+ /**
+ * APOSTROPHE
+ */
+ APOSTROPHE: 192,
+
+ /**
+ * SINGLE_QUOTE
+ */
+ SINGLE_QUOTE: 222,
+
+ /**
+ * OPEN_SQUARE_BRACKET
+ */
+ OPEN_SQUARE_BRACKET: 219,
+
+ /**
+ * BACKSLASH
+ */
+ BACKSLASH: 220,
+
+ /**
+ * CLOSE_SQUARE_BRACKET
+ */
+ CLOSE_SQUARE_BRACKET: 221,
+
+ /**
+ * WIN_KEY
+ */
+ WIN_KEY: 224,
+
+ /**
+ * MAC_FF_META
+ */
+ MAC_FF_META: 224,
+
+ /**
+ * WIN_IME
+ */
+ WIN_IME: 229,
+ // ======================== Function ========================
+
+ /**
+ * whether text and modified key is entered at the same time.
+ */
+ isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {
+ var keyCode = e.keyCode;
+
+ if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text
+ keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
+ return false;
+ } // The following keys are quite harmless, even in combination with
+ // CTRL, ALT or SHIFT.
+
+
+ switch (keyCode) {
+ case KeyCode.ALT:
+ case KeyCode.CAPS_LOCK:
+ case KeyCode.CONTEXT_MENU:
+ case KeyCode.CTRL:
+ case KeyCode.DOWN:
+ case KeyCode.END:
+ case KeyCode.ESC:
+ case KeyCode.HOME:
+ case KeyCode.INSERT:
+ case KeyCode.LEFT:
+ case KeyCode.MAC_FF_META:
+ case KeyCode.META:
+ case KeyCode.NUMLOCK:
+ case KeyCode.NUM_CENTER:
+ case KeyCode.PAGE_DOWN:
+ case KeyCode.PAGE_UP:
+ case KeyCode.PAUSE:
+ case KeyCode.PRINT_SCREEN:
+ case KeyCode.RIGHT:
+ case KeyCode.SHIFT:
+ case KeyCode.UP:
+ case KeyCode.WIN_KEY:
+ case KeyCode.WIN_KEY_RIGHT:
+ return false;
+
+ default:
+ return true;
+ }
+ },
+
+ /**
+ * whether character is entered.
+ */
+ isCharacterKey: function isCharacterKey(keyCode) {
+ if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
+ return true;
+ } // Safari sends zero key code for non-latin characters.
+
+
+ if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
+ return true;
+ }
+
+ switch (keyCode) {
+ case KeyCode.SPACE:
+ case KeyCode.QUESTION_MARK:
+ case KeyCode.NUM_PLUS:
+ case KeyCode.NUM_MINUS:
+ case KeyCode.NUM_PERIOD:
+ case KeyCode.NUM_DIVISION:
+ case KeyCode.SEMICOLON:
+ case KeyCode.DASH:
+ case KeyCode.EQUALS:
+ case KeyCode.COMMA:
+ case KeyCode.PERIOD:
+ case KeyCode.SLASH:
+ case KeyCode.APOSTROPHE:
+ case KeyCode.SINGLE_QUOTE:
+ case KeyCode.OPEN_SQUARE_BRACKET:
+ case KeyCode.BACKSLASH:
+ case KeyCode.CLOSE_SQUARE_BRACKET:
+ return true;
+
+ default:
+ return false;
+ }
+ }
+ };
+ /* harmony default export */ __webpack_exports__["a"] = (KeyCode);
+
+ /***/ }),
+ /* 44 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ module.exports = __webpack_require__(808);
+
+ /***/ }),
+ /* 45 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = scrollTop;
+
+ var _isWindow = __webpack_require__(100);
+
+ var _isWindow2 = _interopRequireDefault(_isWindow);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function scrollTop(node, val) {
+ var win = (0, _isWindow2.default)(node);
+
+ if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;
+
+ if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 46 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1583);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1584);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1585);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1586);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1587);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1588);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1589);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1590);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1591);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(520);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1592);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1594);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1595);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 47 */
+ /***/ (function(module, exports) {
+
+ var hasOwnProperty = {}.hasOwnProperty;
+ module.exports = function (it, key) {
+ return hasOwnProperty.call(it, key);
+ };
+
+
+ /***/ }),
+ /* 48 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /*
+ object-assign
+ (c) Sindre Sorhus
+ @license MIT
+ */
+
+
+ /* eslint-disable no-unused-vars */
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+ function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+ }
+
+ function shouldUseNative() {
+ try {
+ if (!Object.assign) {
+ return false;
+ }
+
+ // Detect buggy property enumeration order in older V8 versions.
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
+ test1[5] = 'de';
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
+ return false;
+ }
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
+ var test2 = {};
+ for (var i = 0; i < 10; i++) {
+ test2['_' + String.fromCharCode(i)] = i;
+ }
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
+ return test2[n];
+ });
+ if (order2.join('') !== '0123456789') {
+ return false;
+ }
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
+ var test3 = {};
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
+ test3[letter] = letter;
+ });
+ if (Object.keys(Object.assign({}, test3)).join('') !==
+ 'abcdefghijklmnopqrst') {
+ return false;
+ }
+
+ return true;
+ } catch (err) {
+ // We don't expect any of the above to throw, but better to be safe.
+ return false;
+ }
+ }
+
+ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+ };
+
+
+ /***/ }),
+ /* 49 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var off = function off() {};
+ if (_inDOM2.default) {
+ off = function () {
+ if (document.addEventListener) return function (node, eventName, handler, capture) {
+ return node.removeEventListener(eventName, handler, capture || false);
+ };else if (document.attachEvent) return function (node, eventName, handler) {
+ return node.detachEvent('on' + eventName, handler);
+ };
+ }();
+ }
+
+ exports.default = off;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 50 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var dP = __webpack_require__(40);
+ var createDesc = __webpack_require__(65);
+ module.exports = __webpack_require__(41) ? function (object, key, value) {
+ return dP.f(object, key, createDesc(1, value));
+ } : function (object, key, value) {
+ object[key] = value;
+ return object;
+ };
+
+
+ /***/ }),
+ /* 51 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var isObject = __webpack_require__(52);
+ module.exports = function (it) {
+ if (!isObject(it)) throw TypeError(it + ' is not an object!');
+ return it;
+ };
+
+
+ /***/ }),
+ /* 52 */
+ /***/ (function(module, exports) {
+
+ module.exports = function (it) {
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
+ };
+
+
+ /***/ }),
+ /* 53 */
+ /***/ (function(module, exports) {
+
+ module.exports = function (exec) {
+ try {
+ return !!exec();
+ } catch (e) {
+ return true;
+ }
+ };
+
+
+ /***/ }),
+ /* 54 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
+ var IObject = __webpack_require__(220);
+ var defined = __webpack_require__(123);
+ module.exports = function (it) {
+ return IObject(defined(it));
+ };
+
+
+ /***/ }),
+ /* 55 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _defineProperty = __webpack_require__(215);
+
+ var _defineProperty2 = _interopRequireDefault(_defineProperty);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ (0, _defineProperty2.default)(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ /***/ }),
+ /* 56 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (node, event, handler, capture) {
+ (0, _on2["default"])(node, event, handler, capture);
+
+ return {
+ remove: function remove() {
+ (0, _off2["default"])(node, event, handler, capture);
+ }
+ };
+ };
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _off = __webpack_require__(49);
+
+ var _off2 = _interopRequireDefault(_off);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 57 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Animate = __webpack_require__(753);
+
+ var _Animate2 = _interopRequireDefault(_Animate);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Animate2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 58 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["g"] = noop;
+ /* harmony export (immutable) */ __webpack_exports__["a"] = getKeyFromChildrenIndex;
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getMenuIdFromSubMenuEventKey;
+ /* harmony export (immutable) */ __webpack_exports__["d"] = loopMenuItem;
+ /* harmony export (immutable) */ __webpack_exports__["e"] = loopMenuItemRecursively;
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return menuAllProps; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getWidth; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setStyle; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+
+
+ function noop() {}
+
+ function getKeyFromChildrenIndex(child, menuEventKey, index) {
+ var prefix = menuEventKey || '';
+ return child.key || prefix + 'item_' + index;
+ }
+
+ function getMenuIdFromSubMenuEventKey(eventKey) {
+ return eventKey + '-menu-';
+ }
+
+ function loopMenuItem(children, cb) {
+ var index = -1;
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (c) {
+ index++;
+ if (c && c.type && c.type.isMenuItemGroup) {
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(c.props.children, function (c2) {
+ index++;
+ cb(c2, index);
+ });
+ } else {
+ cb(c, index);
+ }
+ });
+ }
+
+ function loopMenuItemRecursively(children, keys, ret) {
+ /* istanbul ignore if */
+ if (!children || ret.find) {
+ return;
+ }
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (c) {
+ if (c) {
+ var construct = c.type;
+ if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {
+ return;
+ }
+ if (keys.indexOf(c.key) !== -1) {
+ ret.find = true;
+ } else if (c.props.children) {
+ loopMenuItemRecursively(c.props.children, keys, ret);
+ }
+ }
+ });
+ }
+
+ var menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator',
+
+ // the following keys found need to be removed from test regression
+ 'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon'];
+
+ var getWidth = function getWidth(elem) {
+ return elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width || 0;
+ };
+
+ var setStyle = function setStyle(elem, styleProperty, value) {
+ if (elem && typeof elem.style === 'object') {
+ elem.style[styleProperty] = value;
+ }
+ };
+
+ /***/ }),
+ /* 59 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = void 0;
+
+ /**
+ * @ignore
+ * some key-codes definition and utils from closure-library
+ * @author yiminghe@gmail.com
+ */
+ var KeyCode = {
+ /**
+ * MAC_ENTER
+ */
+ MAC_ENTER: 3,
+
+ /**
+ * BACKSPACE
+ */
+ BACKSPACE: 8,
+
+ /**
+ * TAB
+ */
+ TAB: 9,
+
+ /**
+ * NUMLOCK on FF/Safari Mac
+ */
+ NUM_CENTER: 12,
+
+ /**
+ * ENTER
+ */
+ ENTER: 13,
+
+ /**
+ * SHIFT
+ */
+ SHIFT: 16,
+
+ /**
+ * CTRL
+ */
+ CTRL: 17,
+
+ /**
+ * ALT
+ */
+ ALT: 18,
+
+ /**
+ * PAUSE
+ */
+ PAUSE: 19,
+
+ /**
+ * CAPS_LOCK
+ */
+ CAPS_LOCK: 20,
+
+ /**
+ * ESC
+ */
+ ESC: 27,
+
+ /**
+ * SPACE
+ */
+ SPACE: 32,
+
+ /**
+ * PAGE_UP
+ */
+ PAGE_UP: 33,
+
+ /**
+ * PAGE_DOWN
+ */
+ PAGE_DOWN: 34,
+
+ /**
+ * END
+ */
+ END: 35,
+
+ /**
+ * HOME
+ */
+ HOME: 36,
+
+ /**
+ * LEFT
+ */
+ LEFT: 37,
+
+ /**
+ * UP
+ */
+ UP: 38,
+
+ /**
+ * RIGHT
+ */
+ RIGHT: 39,
+
+ /**
+ * DOWN
+ */
+ DOWN: 40,
+
+ /**
+ * PRINT_SCREEN
+ */
+ PRINT_SCREEN: 44,
+
+ /**
+ * INSERT
+ */
+ INSERT: 45,
+
+ /**
+ * DELETE
+ */
+ DELETE: 46,
+
+ /**
+ * ZERO
+ */
+ ZERO: 48,
+
+ /**
+ * ONE
+ */
+ ONE: 49,
+
+ /**
+ * TWO
+ */
+ TWO: 50,
+
+ /**
+ * THREE
+ */
+ THREE: 51,
+
+ /**
+ * FOUR
+ */
+ FOUR: 52,
+
+ /**
+ * FIVE
+ */
+ FIVE: 53,
+
+ /**
+ * SIX
+ */
+ SIX: 54,
+
+ /**
+ * SEVEN
+ */
+ SEVEN: 55,
+
+ /**
+ * EIGHT
+ */
+ EIGHT: 56,
+
+ /**
+ * NINE
+ */
+ NINE: 57,
+
+ /**
+ * QUESTION_MARK
+ */
+ QUESTION_MARK: 63,
+
+ /**
+ * A
+ */
+ A: 65,
+
+ /**
+ * B
+ */
+ B: 66,
+
+ /**
+ * C
+ */
+ C: 67,
+
+ /**
+ * D
+ */
+ D: 68,
+
+ /**
+ * E
+ */
+ E: 69,
+
+ /**
+ * F
+ */
+ F: 70,
+
+ /**
+ * G
+ */
+ G: 71,
+
+ /**
+ * H
+ */
+ H: 72,
+
+ /**
+ * I
+ */
+ I: 73,
+
+ /**
+ * J
+ */
+ J: 74,
+
+ /**
+ * K
+ */
+ K: 75,
+
+ /**
+ * L
+ */
+ L: 76,
+
+ /**
+ * M
+ */
+ M: 77,
+
+ /**
+ * N
+ */
+ N: 78,
+
+ /**
+ * O
+ */
+ O: 79,
+
+ /**
+ * P
+ */
+ P: 80,
+
+ /**
+ * Q
+ */
+ Q: 81,
+
+ /**
+ * R
+ */
+ R: 82,
+
+ /**
+ * S
+ */
+ S: 83,
+
+ /**
+ * T
+ */
+ T: 84,
+
+ /**
+ * U
+ */
+ U: 85,
+
+ /**
+ * V
+ */
+ V: 86,
+
+ /**
+ * W
+ */
+ W: 87,
+
+ /**
+ * X
+ */
+ X: 88,
+
+ /**
+ * Y
+ */
+ Y: 89,
+
+ /**
+ * Z
+ */
+ Z: 90,
+
+ /**
+ * META
+ */
+ META: 91,
+
+ /**
+ * WIN_KEY_RIGHT
+ */
+ WIN_KEY_RIGHT: 92,
+
+ /**
+ * CONTEXT_MENU
+ */
+ CONTEXT_MENU: 93,
+
+ /**
+ * NUM_ZERO
+ */
+ NUM_ZERO: 96,
+
+ /**
+ * NUM_ONE
+ */
+ NUM_ONE: 97,
+
+ /**
+ * NUM_TWO
+ */
+ NUM_TWO: 98,
+
+ /**
+ * NUM_THREE
+ */
+ NUM_THREE: 99,
+
+ /**
+ * NUM_FOUR
+ */
+ NUM_FOUR: 100,
+
+ /**
+ * NUM_FIVE
+ */
+ NUM_FIVE: 101,
+
+ /**
+ * NUM_SIX
+ */
+ NUM_SIX: 102,
+
+ /**
+ * NUM_SEVEN
+ */
+ NUM_SEVEN: 103,
+
+ /**
+ * NUM_EIGHT
+ */
+ NUM_EIGHT: 104,
+
+ /**
+ * NUM_NINE
+ */
+ NUM_NINE: 105,
+
+ /**
+ * NUM_MULTIPLY
+ */
+ NUM_MULTIPLY: 106,
+
+ /**
+ * NUM_PLUS
+ */
+ NUM_PLUS: 107,
+
+ /**
+ * NUM_MINUS
+ */
+ NUM_MINUS: 109,
+
+ /**
+ * NUM_PERIOD
+ */
+ NUM_PERIOD: 110,
+
+ /**
+ * NUM_DIVISION
+ */
+ NUM_DIVISION: 111,
+
+ /**
+ * F1
+ */
+ F1: 112,
+
+ /**
+ * F2
+ */
+ F2: 113,
+
+ /**
+ * F3
+ */
+ F3: 114,
+
+ /**
+ * F4
+ */
+ F4: 115,
+
+ /**
+ * F5
+ */
+ F5: 116,
+
+ /**
+ * F6
+ */
+ F6: 117,
+
+ /**
+ * F7
+ */
+ F7: 118,
+
+ /**
+ * F8
+ */
+ F8: 119,
+
+ /**
+ * F9
+ */
+ F9: 120,
+
+ /**
+ * F10
+ */
+ F10: 121,
+
+ /**
+ * F11
+ */
+ F11: 122,
+
+ /**
+ * F12
+ */
+ F12: 123,
+
+ /**
+ * NUMLOCK
+ */
+ NUMLOCK: 144,
+
+ /**
+ * SEMICOLON
+ */
+ SEMICOLON: 186,
+
+ /**
+ * DASH
+ */
+ DASH: 189,
+
+ /**
+ * EQUALS
+ */
+ EQUALS: 187,
+
+ /**
+ * COMMA
+ */
+ COMMA: 188,
+
+ /**
+ * PERIOD
+ */
+ PERIOD: 190,
+
+ /**
+ * SLASH
+ */
+ SLASH: 191,
+
+ /**
+ * APOSTROPHE
+ */
+ APOSTROPHE: 192,
+
+ /**
+ * SINGLE_QUOTE
+ */
+ SINGLE_QUOTE: 222,
+
+ /**
+ * OPEN_SQUARE_BRACKET
+ */
+ OPEN_SQUARE_BRACKET: 219,
+
+ /**
+ * BACKSLASH
+ */
+ BACKSLASH: 220,
+
+ /**
+ * CLOSE_SQUARE_BRACKET
+ */
+ CLOSE_SQUARE_BRACKET: 221,
+
+ /**
+ * WIN_KEY
+ */
+ WIN_KEY: 224,
+
+ /**
+ * MAC_FF_META
+ */
+ MAC_FF_META: 224,
+
+ /**
+ * WIN_IME
+ */
+ WIN_IME: 229,
+ // ======================== Function ========================
+
+ /**
+ * whether text and modified key is entered at the same time.
+ */
+ isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {
+ var keyCode = e.keyCode;
+
+ if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text
+ keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
+ return false;
+ } // The following keys are quite harmless, even in combination with
+ // CTRL, ALT or SHIFT.
+
+
+ switch (keyCode) {
+ case KeyCode.ALT:
+ case KeyCode.CAPS_LOCK:
+ case KeyCode.CONTEXT_MENU:
+ case KeyCode.CTRL:
+ case KeyCode.DOWN:
+ case KeyCode.END:
+ case KeyCode.ESC:
+ case KeyCode.HOME:
+ case KeyCode.INSERT:
+ case KeyCode.LEFT:
+ case KeyCode.MAC_FF_META:
+ case KeyCode.META:
+ case KeyCode.NUMLOCK:
+ case KeyCode.NUM_CENTER:
+ case KeyCode.PAGE_DOWN:
+ case KeyCode.PAGE_UP:
+ case KeyCode.PAUSE:
+ case KeyCode.PRINT_SCREEN:
+ case KeyCode.RIGHT:
+ case KeyCode.SHIFT:
+ case KeyCode.UP:
+ case KeyCode.WIN_KEY:
+ case KeyCode.WIN_KEY_RIGHT:
+ return false;
+
+ default:
+ return true;
+ }
+ },
+
+ /**
+ * whether character is entered.
+ */
+ isCharacterKey: function isCharacterKey(keyCode) {
+ if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
+ return true;
+ } // Safari sends zero key code for non-latin characters.
+
+
+ if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
+ return true;
+ }
+
+ switch (keyCode) {
+ case KeyCode.SPACE:
+ case KeyCode.QUESTION_MARK:
+ case KeyCode.NUM_PLUS:
+ case KeyCode.NUM_MINUS:
+ case KeyCode.NUM_PERIOD:
+ case KeyCode.NUM_DIVISION:
+ case KeyCode.SEMICOLON:
+ case KeyCode.DASH:
+ case KeyCode.EQUALS:
+ case KeyCode.COMMA:
+ case KeyCode.PERIOD:
+ case KeyCode.SLASH:
+ case KeyCode.APOSTROPHE:
+ case KeyCode.SINGLE_QUOTE:
+ case KeyCode.OPEN_SQUARE_BRACKET:
+ case KeyCode.BACKSLASH:
+ case KeyCode.CLOSE_SQUARE_BRACKET:
+ return true;
+
+ default:
+ return false;
+ }
+ }
+ };
+ var _default = KeyCode;
+ exports.default = _default;
+
+ /***/ }),
+ /* 60 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(816);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(817);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(818);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(819);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(820);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(821);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(822);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(823);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(824);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(264);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(825);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(827);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(265);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 61 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.setStyle = exports.getWidth = exports.menuAllProps = undefined;
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
+ * This source code is quoted from rc-menu.
+ * homepage: https://github.com/react-component/menu
+ */
+
+
+ exports.noop = noop;
+ exports.getKeyFromChildrenIndex = getKeyFromChildrenIndex;
+ exports.getMenuIdFromSubMenuEventKey = getMenuIdFromSubMenuEventKey;
+ exports.loopMenuItem = loopMenuItem;
+ exports.loopMenuItemRecursively = loopMenuItemRecursively;
+ exports.fireKeyEvent = fireKeyEvent;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function noop() {}
+
+ function getKeyFromChildrenIndex(child, menuEventKey, index) {
+ var prefix = menuEventKey || '';
+ return child.key || prefix + 'item_' + index;
+ }
+
+ function getMenuIdFromSubMenuEventKey(eventKey) {
+ return eventKey + '-menu-';
+ }
+
+ function loopMenuItem(children, cb) {
+ var index = -1;
+ _react2["default"].Children.forEach(children, function (c) {
+ index++;
+ if (c && c.type && c.type.isMenuItemGroup) {
+ _react2["default"].Children.forEach(c.props.children, function (c2) {
+ index++;
+ cb(c2, index);
+ });
+ } else {
+ cb(c, index);
+ }
+ });
+ }
+
+ function loopMenuItemRecursively(children, keys, ret) {
+ /* istanbul ignore if */
+ if (!children || ret.find) {
+ return;
+ }
+ _react2["default"].Children.forEach(children, function (c) {
+ if (c) {
+ var construct = c.type;
+ if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {
+ return;
+ }
+ if (keys.indexOf(c.key) !== -1) {
+ ret.find = true;
+ } else if (c.props.children) {
+ loopMenuItemRecursively(c.props.children, keys, ret);
+ }
+ }
+ });
+ }
+
+ var menuAllProps = exports.menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator',
+
+ // the following keys found need to be removed from test regression
+ 'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon'];
+
+ var getWidth = exports.getWidth = function getWidth(elem) {
+ return elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width || 0;
+ };
+
+ var setStyle = exports.setStyle = function setStyle(elem, styleProperty, value) {
+ if (elem && _typeof(elem.style) === 'object') {
+ elem.style[styleProperty] = value;
+ }
+ };
+
+ function fireKeyEvent(el, evtType, keyCode) {
+ var evtObj;
+ if (document.createEvent) {
+ if (window.KeyEvent) {
+ //firefox 浏览器下模拟事件
+ evtObj = document.createEvent('KeyEvents');
+ evtObj.initKeyEvent(evtType, true, true, window, true, false, false, false, keyCode, 0);
+ } else {
+ //chrome 浏览器下模拟事件
+ evtObj = document.createEvent('UIEvents');
+ evtObj.initUIEvent(evtType, true, true, window, 1);
+
+ delete evtObj.keyCode;
+ if (typeof evtObj.keyCode === "undefined") {
+ //为了模拟keycode
+ Object.defineProperty(evtObj, "keyCode", { value: keyCode });
+ } else {
+ evtObj.key = String.fromCharCode(keyCode);
+ }
+
+ if (typeof evtObj.ctrlKey === 'undefined') {
+ //为了模拟ctrl键
+ Object.defineProperty(evtObj, "ctrlKey", { value: true });
+ } else {
+ evtObj.ctrlKey = true;
+ }
+ }
+ el.dispatchEvent(evtObj);
+ } else if (document.createEventObject) {
+ //IE 浏览器下模拟事件
+ evtObj = document.createEventObject();
+ evtObj.keyCode = keyCode;
+ el.fireEvent('on' + evtType, evtObj);
+ }
+ }
+
+ /***/ }),
+ /* 62 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1070);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1071);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1072);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1073);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1074);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1075);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1076);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1077);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1078);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(305);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1079);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1081);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1082);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 63 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports['default'] = {
+ today: '今天',
+ now: '此刻',
+ backToToday: '返回今天',
+ ok: '确定',
+ timeSelect: '选择时间',
+ dateSelect: '选择日期',
+ weekSelect: '选择周',
+ clear: '清除',
+ month: '月',
+ year: '年',
+ previousMonth: '上个月 (翻页上键)',
+ nextMonth: '下个月 (翻页下键)',
+ monthSelect: '选择月份',
+ yearSelect: '选择年份',
+ decadeSelect: '选择年代',
+ yearFormat: 'YYYY年',
+ dayFormat: 'D日',
+ dateFormat: 'YYYY年M月D日',
+ dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',
+ previousYear: '上一年 (Control键加左方向键)',
+ nextYear: '下一年 (Control键加右方向键)',
+ previousDecade: '上一年代',
+ nextDecade: '下一年代',
+ previousCentury: '上一世纪',
+ nextCentury: '下一世纪'
+ };
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 64 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["g"] = noop;
+ /* harmony export (immutable) */ __webpack_exports__["a"] = getKeyFromChildrenIndex;
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getMenuIdFromSubMenuEventKey;
+ /* harmony export (immutable) */ __webpack_exports__["d"] = loopMenuItem;
+ /* harmony export (immutable) */ __webpack_exports__["e"] = loopMenuItemRecursively;
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return menuAllProps; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getWidth; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setStyle; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+
+
+ function noop() {}
+
+ function getKeyFromChildrenIndex(child, menuEventKey, index) {
+ var prefix = menuEventKey || '';
+ return child.key || prefix + 'item_' + index;
+ }
+
+ function getMenuIdFromSubMenuEventKey(eventKey) {
+ return eventKey + '-menu-';
+ }
+
+ function loopMenuItem(children, cb) {
+ var index = -1;
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (c) {
+ index++;
+ if (c && c.type && c.type.isMenuItemGroup) {
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(c.props.children, function (c2) {
+ index++;
+ cb(c2, index);
+ });
+ } else {
+ cb(c, index);
+ }
+ });
+ }
+
+ function loopMenuItemRecursively(children, keys, ret) {
+ /* istanbul ignore if */
+ if (!children || ret.find) {
+ return;
+ }
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (c) {
+ if (c) {
+ var construct = c.type;
+ if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {
+ return;
+ }
+ if (keys.indexOf(c.key) !== -1) {
+ ret.find = true;
+ } else if (c.props.children) {
+ loopMenuItemRecursively(c.props.children, keys, ret);
+ }
+ }
+ });
+ }
+
+ var menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator',
+
+ // the following keys found need to be removed from test regression
+ 'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon'];
+
+ var getWidth = function getWidth(elem) {
+ return elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width || 0;
+ };
+
+ var setStyle = function setStyle(elem, styleProperty, value) {
+ if (elem && typeof elem.style === 'object') {
+ elem.style[styleProperty] = value;
+ }
+ };
+
+ /***/ }),
+ /* 65 */
+ /***/ (function(module, exports) {
+
+ module.exports = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+ };
+
+
+ /***/ }),
+ /* 66 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
+ var $keys = __webpack_require__(219);
+ var enumBugKeys = __webpack_require__(127);
+
+ module.exports = Object.keys || function keys(O) {
+ return $keys(O, enumBugKeys);
+ };
+
+
+ /***/ }),
+ /* 67 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // 7.1.13 ToObject(argument)
+ var defined = __webpack_require__(123);
+ module.exports = function (it) {
+ return Object(defined(it));
+ };
+
+
+ /***/ }),
+ /* 68 */
+ /***/ (function(module, exports) {
+
+ module.exports = {};
+
+
+ /***/ }),
+ /* 69 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+
+
+ var React = __webpack_require__(0);
+ var factory = __webpack_require__(602);
+
+ if (typeof React === 'undefined') {
+ throw Error(
+ 'create-react-class could not find the React object. If you are using script tags, ' +
+ 'make sure that React is being loaded before create-react-class.'
+ );
+ }
+
+ // Hack to grab NoopUpdateQueue from isomorphic React
+ var ReactNoopUpdateQueue = new React.Component().updater;
+
+ module.exports = factory(
+ React.Component,
+ React.isValidElement,
+ ReactNoopUpdateQueue
+ );
+
+
+ /***/ }),
+ /* 70 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var freeGlobal = __webpack_require__(632);
+
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+ /** Used as a reference to the global object. */
+ var root = freeGlobal || freeSelf || Function('return this')();
+
+ module.exports = root;
+
+
+ /***/ }),
+ /* 71 */
+ /***/ (function(module, exports) {
+
+ /**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+ function isObject(value) {
+ var type = typeof value;
+ return value != null && (type == 'object' || type == 'function');
+ }
+
+ module.exports = isObject;
+
+
+ /***/ }),
+ /* 72 */
+ /***/ (function(module, exports) {
+
+ //
+
+ module.exports = function shallowEqual(objA, objB, compare, compareContext) {
+ var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
+
+ if (ret !== void 0) {
+ return !!ret;
+ }
+
+ if (objA === objB) {
+ return true;
+ }
+
+ if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
+ return false;
+ }
+
+ var keysA = Object.keys(objA);
+ var keysB = Object.keys(objB);
+
+ if (keysA.length !== keysB.length) {
+ return false;
+ }
+
+ var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
+
+ // Test for A's keys different from B.
+ for (var idx = 0; idx < keysA.length; idx++) {
+ var key = keysA[idx];
+
+ if (!bHasOwnProperty(key)) {
+ return false;
+ }
+
+ var valueA = objA[key];
+ var valueB = objB[key];
+
+ ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
+
+ if (ret === false || (ret === void 0 && valueA !== valueB)) {
+ return false;
+ }
+ }
+
+ return true;
+ };
+
+
+ /***/ }),
+ /* 73 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_lifecycles_compat__ = __webpack_require__(14);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_contains__ = __webpack_require__(143);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_addEventListener__ = __webpack_require__(144);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_rc_util_es_ContainerRender__ = __webpack_require__(258);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_rc_util_es_Portal__ = __webpack_require__(259);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__utils__ = __webpack_require__(260);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__Popup__ = __webpack_require__(798);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ function noop() {}
+
+ function returnEmptyString() {
+ return '';
+ }
+
+ function returnDocument() {
+ return window.document;
+ }
+
+ var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];
+
+ var IS_REACT_16 = !!__WEBPACK_IMPORTED_MODULE_6_react_dom__["createPortal"];
+
+ var contextTypes = {
+ rcTrigger: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.shape({
+ onPopupMouseDown: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func
+ })
+ };
+
+ var Trigger = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Trigger, _React$Component);
+
+ function Trigger(props) {
+ __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Trigger);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var popupVisible = void 0;
+ if ('popupVisible' in props) {
+ popupVisible = !!props.popupVisible;
+ } else {
+ popupVisible = !!props.defaultPopupVisible;
+ }
+
+ _this.state = {
+ prevPopupVisible: popupVisible,
+ popupVisible: popupVisible
+ };
+
+ ALL_HANDLERS.forEach(function (h) {
+ _this['fire' + h] = function (e) {
+ _this.fireEvents(h, e);
+ };
+ });
+ return _this;
+ }
+
+ Trigger.prototype.getChildContext = function getChildContext() {
+ return {
+ rcTrigger: {
+ onPopupMouseDown: this.onPopupMouseDown
+ }
+ };
+ };
+
+ Trigger.prototype.componentDidMount = function componentDidMount() {
+ this.componentDidUpdate({}, {
+ popupVisible: this.state.popupVisible
+ });
+ };
+
+ Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
+ var props = this.props;
+ var state = this.state;
+ var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {
+ if (prevState.popupVisible !== state.popupVisible) {
+ props.afterPopupVisibleChange(state.popupVisible);
+ }
+ };
+ if (!IS_REACT_16) {
+ this.renderComponent(null, triggerAfterPopupVisibleChange);
+ }
+
+ // We must listen to `mousedown` or `touchstart`, edge case:
+ // https://github.com/ant-design/ant-design/issues/5804
+ // https://github.com/react-component/calendar/issues/250
+ // https://github.com/react-component/trigger/issues/50
+ if (state.popupVisible) {
+ var currentDocument = void 0;
+ if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {
+ currentDocument = props.getDocument();
+ this.clickOutsideHandler = Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_addEventListener__["a" /* default */])(currentDocument, 'mousedown', this.onDocumentClick);
+ }
+ // always hide on mobile
+ if (!this.touchOutsideHandler) {
+ currentDocument = currentDocument || props.getDocument();
+ this.touchOutsideHandler = Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_addEventListener__["a" /* default */])(currentDocument, 'touchstart', this.onDocumentClick);
+ }
+ // close popup when trigger type contains 'onContextMenu' and document is scrolling.
+ if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {
+ currentDocument = currentDocument || props.getDocument();
+ this.contextMenuOutsideHandler1 = Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_addEventListener__["a" /* default */])(currentDocument, 'scroll', this.onContextMenuClose);
+ }
+ // close popup when trigger type contains 'onContextMenu' and window is blur.
+ if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {
+ this.contextMenuOutsideHandler2 = Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_addEventListener__["a" /* default */])(window, 'blur', this.onContextMenuClose);
+ }
+ return;
+ }
+
+ this.clearOutsideHandler();
+ };
+
+ Trigger.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.clearDelayTimer();
+ this.clearOutsideHandler();
+ clearTimeout(this.mouseDownTimeout);
+ };
+
+ Trigger.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
+ var popupVisible = _ref.popupVisible;
+
+ var newState = {};
+
+ if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {
+ newState.popupVisible = popupVisible;
+ newState.prevPopupVisible = prevState.popupVisible;
+ }
+
+ return newState;
+ };
+
+ Trigger.prototype.getPopupDomNode = function getPopupDomNode() {
+ // for test
+ if (this._component && this._component.getPopupDomNode) {
+ return this._component.getPopupDomNode();
+ }
+ return null;
+ };
+
+ Trigger.prototype.getPopupAlign = function getPopupAlign() {
+ var props = this.props;
+ var popupPlacement = props.popupPlacement,
+ popupAlign = props.popupAlign,
+ builtinPlacements = props.builtinPlacements;
+
+ if (popupPlacement && builtinPlacements) {
+ return Object(__WEBPACK_IMPORTED_MODULE_13__utils__["a" /* getAlignFromPlacement */])(builtinPlacements, popupPlacement, popupAlign);
+ }
+ return popupAlign;
+ };
+
+ /**
+ * @param popupVisible Show or not the popup element
+ * @param event SyntheticEvent, used for `pointAlign`
+ */
+ Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {
+ var alignPoint = this.props.alignPoint;
+ var prevPopupVisible = this.state.popupVisible;
+
+
+ this.clearDelayTimer();
+
+ if (prevPopupVisible !== popupVisible) {
+ if (!('popupVisible' in this.props)) {
+ this.setState({ popupVisible: popupVisible, prevPopupVisible: prevPopupVisible });
+ }
+ this.props.onPopupVisibleChange(popupVisible);
+ }
+
+ // Always record the point position since mouseEnterDelay will delay the show
+ if (alignPoint && event) {
+ this.setPoint(event);
+ }
+ };
+
+ Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {
+ var _this2 = this;
+
+ var delay = delayS * 1000;
+ this.clearDelayTimer();
+ if (delay) {
+ var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;
+ this.delayTimer = setTimeout(function () {
+ _this2.setPopupVisible(visible, point);
+ _this2.clearDelayTimer();
+ }, delay);
+ } else {
+ this.setPopupVisible(visible, event);
+ }
+ };
+
+ Trigger.prototype.clearDelayTimer = function clearDelayTimer() {
+ if (this.delayTimer) {
+ clearTimeout(this.delayTimer);
+ this.delayTimer = null;
+ }
+ };
+
+ Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() {
+ if (this.clickOutsideHandler) {
+ this.clickOutsideHandler.remove();
+ this.clickOutsideHandler = null;
+ }
+
+ if (this.contextMenuOutsideHandler1) {
+ this.contextMenuOutsideHandler1.remove();
+ this.contextMenuOutsideHandler1 = null;
+ }
+
+ if (this.contextMenuOutsideHandler2) {
+ this.contextMenuOutsideHandler2.remove();
+ this.contextMenuOutsideHandler2 = null;
+ }
+
+ if (this.touchOutsideHandler) {
+ this.touchOutsideHandler.remove();
+ this.touchOutsideHandler = null;
+ }
+ };
+
+ Trigger.prototype.createTwoChains = function createTwoChains(event) {
+ var childPros = this.props.children.props;
+ var props = this.props;
+ if (childPros[event] && props[event]) {
+ return this['fire' + event];
+ }
+ return childPros[event] || props[event];
+ };
+
+ Trigger.prototype.isClickToShow = function isClickToShow() {
+ var _props = this.props,
+ action = _props.action,
+ showAction = _props.showAction;
+
+ return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;
+ };
+
+ Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {
+ var _props2 = this.props,
+ action = _props2.action,
+ showAction = _props2.showAction;
+
+ return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;
+ };
+
+ Trigger.prototype.isClickToHide = function isClickToHide() {
+ var _props3 = this.props,
+ action = _props3.action,
+ hideAction = _props3.hideAction;
+
+ return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;
+ };
+
+ Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {
+ var _props4 = this.props,
+ action = _props4.action,
+ showAction = _props4.showAction;
+
+ return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;
+ };
+
+ Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {
+ var _props5 = this.props,
+ action = _props5.action,
+ hideAction = _props5.hideAction;
+
+ return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;
+ };
+
+ Trigger.prototype.isFocusToShow = function isFocusToShow() {
+ var _props6 = this.props,
+ action = _props6.action,
+ showAction = _props6.showAction;
+
+ return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;
+ };
+
+ Trigger.prototype.isBlurToHide = function isBlurToHide() {
+ var _props7 = this.props,
+ action = _props7.action,
+ hideAction = _props7.hideAction;
+
+ return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;
+ };
+
+ Trigger.prototype.forcePopupAlign = function forcePopupAlign() {
+ if (this.state.popupVisible && this._component && this._component.alignInstance) {
+ this._component.alignInstance.forceAlign();
+ }
+ };
+
+ Trigger.prototype.fireEvents = function fireEvents(type, e) {
+ var childCallback = this.props.children.props[type];
+ if (childCallback) {
+ childCallback(e);
+ }
+ var callback = this.props[type];
+ if (callback) {
+ callback(e);
+ }
+ };
+
+ Trigger.prototype.close = function close() {
+ this.setPopupVisible(false);
+ };
+
+ Trigger.prototype.render = function render() {
+ var _this3 = this;
+
+ var popupVisible = this.state.popupVisible;
+ var _props8 = this.props,
+ children = _props8.children,
+ forceRender = _props8.forceRender,
+ alignPoint = _props8.alignPoint,
+ className = _props8.className;
+
+ var child = __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.only(children);
+ var newChildProps = { key: 'trigger' };
+
+ if (this.isContextMenuToShow()) {
+ newChildProps.onContextMenu = this.onContextMenu;
+ } else {
+ newChildProps.onContextMenu = this.createTwoChains('onContextMenu');
+ }
+
+ if (this.isClickToHide() || this.isClickToShow()) {
+ newChildProps.onClick = this.onClick;
+ newChildProps.onMouseDown = this.onMouseDown;
+ newChildProps.onTouchStart = this.onTouchStart;
+ } else {
+ newChildProps.onClick = this.createTwoChains('onClick');
+ newChildProps.onMouseDown = this.createTwoChains('onMouseDown');
+ newChildProps.onTouchStart = this.createTwoChains('onTouchStart');
+ }
+ if (this.isMouseEnterToShow()) {
+ newChildProps.onMouseEnter = this.onMouseEnter;
+ if (alignPoint) {
+ newChildProps.onMouseMove = this.onMouseMove;
+ }
+ } else {
+ newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');
+ }
+ if (this.isMouseLeaveToHide()) {
+ newChildProps.onMouseLeave = this.onMouseLeave;
+ } else {
+ newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');
+ }
+ if (this.isFocusToShow() || this.isBlurToHide()) {
+ newChildProps.onFocus = this.onFocus;
+ newChildProps.onBlur = this.onBlur;
+ } else {
+ newChildProps.onFocus = this.createTwoChains('onFocus');
+ newChildProps.onBlur = this.createTwoChains('onBlur');
+ }
+
+ var childrenClassName = __WEBPACK_IMPORTED_MODULE_12_classnames___default()(child && child.props && child.props.className, className);
+ if (childrenClassName) {
+ newChildProps.className = childrenClassName;
+ }
+ var trigger = __WEBPACK_IMPORTED_MODULE_4_react___default.a.cloneElement(child, newChildProps);
+
+ if (!IS_REACT_16) {
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_10_rc_util_es_ContainerRender__["a" /* default */],
+ {
+ parent: this,
+ visible: popupVisible,
+ autoMount: false,
+ forceRender: forceRender,
+ getComponent: this.getComponent,
+ getContainer: this.getContainer
+ },
+ function (_ref2) {
+ var renderComponent = _ref2.renderComponent;
+
+ _this3.renderComponent = renderComponent;
+ return trigger;
+ }
+ );
+ }
+
+ var portal = void 0;
+ // prevent unmounting after it's rendered
+ if (popupVisible || this._component || forceRender) {
+ portal = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_11_rc_util_es_Portal__["a" /* default */],
+ { key: 'portal', getContainer: this.getContainer, didUpdate: this.handlePortalUpdate },
+ this.getComponent()
+ );
+ }
+
+ return [trigger, portal];
+ };
+
+ return Trigger;
+ }(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);
+
+ Trigger.propTypes = {
+ children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ action: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string)]),
+ showAction: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ hideAction: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ getPopupClassNameFromAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ onPopupVisibleChange: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,
+ afterPopupVisibleChange: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,
+ popup: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func]).isRequired,
+ popupStyle: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,
+ prefixCls: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ popupClassName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ className: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ popupPlacement: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ builtinPlacements: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,
+ popupTransitionName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object]),
+ popupAnimation: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ mouseEnterDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,
+ mouseLeaveDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,
+ zIndex: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,
+ focusDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,
+ blurDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,
+ getPopupContainer: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,
+ getDocument: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,
+ forceRender: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ destroyPopupOnHide: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ mask: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ maskClosable: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ onPopupAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,
+ popupAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,
+ popupVisible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ defaultPopupVisible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ maskTransitionName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object]),
+ maskAnimation: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ stretch: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ alignPoint: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool // Maybe we can support user pass position in the future
+ };
+ Trigger.contextTypes = contextTypes;
+ Trigger.childContextTypes = contextTypes;
+ Trigger.defaultProps = {
+ prefixCls: 'rc-trigger-popup',
+ getPopupClassNameFromAlign: returnEmptyString,
+ getDocument: returnDocument,
+ onPopupVisibleChange: noop,
+ afterPopupVisibleChange: noop,
+ onPopupAlign: noop,
+ popupClassName: '',
+ mouseEnterDelay: 0,
+ mouseLeaveDelay: 0.1,
+ focusDelay: 0,
+ blurDelay: 0.15,
+ popupStyle: {},
+ destroyPopupOnHide: false,
+ popupAlign: {},
+ defaultPopupVisible: false,
+ mask: false,
+ maskClosable: true,
+ action: [],
+ showAction: [],
+ hideAction: []
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this4 = this;
+
+ this.onMouseEnter = function (e) {
+ var mouseEnterDelay = _this4.props.mouseEnterDelay;
+
+ _this4.fireEvents('onMouseEnter', e);
+ _this4.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);
+ };
+
+ this.onMouseMove = function (e) {
+ _this4.fireEvents('onMouseMove', e);
+ _this4.setPoint(e);
+ };
+
+ this.onMouseLeave = function (e) {
+ _this4.fireEvents('onMouseLeave', e);
+ _this4.delaySetPopupVisible(false, _this4.props.mouseLeaveDelay);
+ };
+
+ this.onPopupMouseEnter = function () {
+ _this4.clearDelayTimer();
+ };
+
+ this.onPopupMouseLeave = function (e) {
+ // https://github.com/react-component/trigger/pull/13
+ // react bug?
+ if (e.relatedTarget && !e.relatedTarget.setTimeout && _this4._component && _this4._component.getPopupDomNode && Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_contains__["a" /* default */])(_this4._component.getPopupDomNode(), e.relatedTarget)) {
+ return;
+ }
+ _this4.delaySetPopupVisible(false, _this4.props.mouseLeaveDelay);
+ };
+
+ this.onFocus = function (e) {
+ _this4.fireEvents('onFocus', e);
+ // incase focusin and focusout
+ _this4.clearDelayTimer();
+ if (_this4.isFocusToShow()) {
+ _this4.focusTime = Date.now();
+ _this4.delaySetPopupVisible(true, _this4.props.focusDelay);
+ }
+ };
+
+ this.onMouseDown = function (e) {
+ _this4.fireEvents('onMouseDown', e);
+ _this4.preClickTime = Date.now();
+ };
+
+ this.onTouchStart = function (e) {
+ _this4.fireEvents('onTouchStart', e);
+ _this4.preTouchTime = Date.now();
+ };
+
+ this.onBlur = function (e) {
+ _this4.fireEvents('onBlur', e);
+ _this4.clearDelayTimer();
+ if (_this4.isBlurToHide()) {
+ _this4.delaySetPopupVisible(false, _this4.props.blurDelay);
+ }
+ };
+
+ this.onContextMenu = function (e) {
+ e.preventDefault();
+ _this4.fireEvents('onContextMenu', e);
+ _this4.setPopupVisible(true, e);
+ };
+
+ this.onContextMenuClose = function () {
+ if (_this4.isContextMenuToShow()) {
+ _this4.close();
+ }
+ };
+
+ this.onClick = function (event) {
+ _this4.fireEvents('onClick', event);
+ // focus will trigger click
+ if (_this4.focusTime) {
+ var preTime = void 0;
+ if (_this4.preClickTime && _this4.preTouchTime) {
+ preTime = Math.min(_this4.preClickTime, _this4.preTouchTime);
+ } else if (_this4.preClickTime) {
+ preTime = _this4.preClickTime;
+ } else if (_this4.preTouchTime) {
+ preTime = _this4.preTouchTime;
+ }
+ if (Math.abs(preTime - _this4.focusTime) < 20) {
+ return;
+ }
+ _this4.focusTime = 0;
+ }
+ _this4.preClickTime = 0;
+ _this4.preTouchTime = 0;
+
+ // Only prevent default when all the action is click.
+ // https://github.com/ant-design/ant-design/issues/17043
+ // https://github.com/ant-design/ant-design/issues/17291
+ if (_this4.isClickToShow() && (_this4.isClickToHide() || _this4.isBlurToHide()) && event && event.preventDefault) {
+ event.preventDefault();
+ }
+ var nextVisible = !_this4.state.popupVisible;
+ if (_this4.isClickToHide() && !nextVisible || nextVisible && _this4.isClickToShow()) {
+ _this4.setPopupVisible(!_this4.state.popupVisible, event);
+ }
+ };
+
+ this.onPopupMouseDown = function () {
+ var _context$rcTrigger = _this4.context.rcTrigger,
+ rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger;
+
+ _this4.hasPopupMouseDown = true;
+
+ clearTimeout(_this4.mouseDownTimeout);
+ _this4.mouseDownTimeout = setTimeout(function () {
+ _this4.hasPopupMouseDown = false;
+ }, 0);
+
+ if (rcTrigger.onPopupMouseDown) {
+ rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments);
+ }
+ };
+
+ this.onDocumentClick = function (event) {
+ if (_this4.props.mask && !_this4.props.maskClosable) {
+ return;
+ }
+
+ var target = event.target;
+ var root = Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__["findDOMNode"])(_this4);
+ if (!Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_contains__["a" /* default */])(root, target) && !_this4.hasPopupMouseDown) {
+ _this4.close();
+ }
+ };
+
+ this.getRootDomNode = function () {
+ return Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__["findDOMNode"])(_this4);
+ };
+
+ this.getPopupClassNameFromAlign = function (align) {
+ var className = [];
+ var _props9 = _this4.props,
+ popupPlacement = _props9.popupPlacement,
+ builtinPlacements = _props9.builtinPlacements,
+ prefixCls = _props9.prefixCls,
+ alignPoint = _props9.alignPoint,
+ getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;
+
+ if (popupPlacement && builtinPlacements) {
+ className.push(Object(__WEBPACK_IMPORTED_MODULE_13__utils__["b" /* getAlignPopupClassName */])(builtinPlacements, prefixCls, align, alignPoint));
+ }
+ if (getPopupClassNameFromAlign) {
+ className.push(getPopupClassNameFromAlign(align));
+ }
+ return className.join(' ');
+ };
+
+ this.getComponent = function () {
+ var _props10 = _this4.props,
+ prefixCls = _props10.prefixCls,
+ destroyPopupOnHide = _props10.destroyPopupOnHide,
+ popupClassName = _props10.popupClassName,
+ action = _props10.action,
+ onPopupAlign = _props10.onPopupAlign,
+ popupAnimation = _props10.popupAnimation,
+ popupTransitionName = _props10.popupTransitionName,
+ popupStyle = _props10.popupStyle,
+ mask = _props10.mask,
+ maskAnimation = _props10.maskAnimation,
+ maskTransitionName = _props10.maskTransitionName,
+ zIndex = _props10.zIndex,
+ popup = _props10.popup,
+ stretch = _props10.stretch,
+ alignPoint = _props10.alignPoint;
+ var _state = _this4.state,
+ popupVisible = _state.popupVisible,
+ point = _state.point;
+
+
+ var align = _this4.getPopupAlign();
+
+ var mouseProps = {};
+ if (_this4.isMouseEnterToShow()) {
+ mouseProps.onMouseEnter = _this4.onPopupMouseEnter;
+ }
+ if (_this4.isMouseLeaveToHide()) {
+ mouseProps.onMouseLeave = _this4.onPopupMouseLeave;
+ }
+
+ mouseProps.onMouseDown = _this4.onPopupMouseDown;
+ mouseProps.onTouchStart = _this4.onPopupMouseDown;
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_14__Popup__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({
+ prefixCls: prefixCls,
+ destroyPopupOnHide: destroyPopupOnHide,
+ visible: popupVisible,
+ point: alignPoint && point,
+ className: popupClassName,
+ action: action,
+ align: align,
+ onAlign: onPopupAlign,
+ animation: popupAnimation,
+ getClassNameFromAlign: _this4.getPopupClassNameFromAlign
+ }, mouseProps, {
+ stretch: stretch,
+ getRootDomNode: _this4.getRootDomNode,
+ style: popupStyle,
+ mask: mask,
+ zIndex: zIndex,
+ transitionName: popupTransitionName,
+ maskAnimation: maskAnimation,
+ maskTransitionName: maskTransitionName,
+ ref: _this4.savePopup
+ }),
+ typeof popup === 'function' ? popup() : popup
+ );
+ };
+
+ this.getContainer = function () {
+ var props = _this4.props;
+
+ var popupContainer = document.createElement('div');
+ // Make sure default popup container will never cause scrollbar appearing
+ // https://github.com/react-component/trigger/issues/41
+ popupContainer.style.position = 'absolute';
+ popupContainer.style.top = '0';
+ popupContainer.style.left = '0';
+ popupContainer.style.width = '100%';
+ var mountNode = props.getPopupContainer ? props.getPopupContainer(Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__["findDOMNode"])(_this4)) : props.getDocument().body;
+ mountNode.appendChild(popupContainer);
+ return popupContainer;
+ };
+
+ this.setPoint = function (point) {
+ var alignPoint = _this4.props.alignPoint;
+
+ if (!alignPoint || !point) return;
+
+ _this4.setState({
+ point: {
+ pageX: point.pageX,
+ pageY: point.pageY
+ }
+ });
+ };
+
+ this.handlePortalUpdate = function () {
+ if (_this4.state.prevPopupVisible !== _this4.state.popupVisible) {
+ _this4.props.afterPopupVisibleChange(_this4.state.popupVisible);
+ }
+ };
+
+ this.savePopup = function (node) {
+ _this4._component = node;
+ };
+ };
+
+ Object(__WEBPACK_IMPORTED_MODULE_7_react_lifecycles_compat__["polyfill"])(Trigger);
+
+ /* harmony default export */ __webpack_exports__["default"] = (Trigger);
+
+ /***/ }),
+ /* 74 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = offset;
+
+ var _contains = __webpack_require__(26);
+
+ var _contains2 = _interopRequireDefault(_contains);
+
+ var _isWindow = __webpack_require__(100);
+
+ var _isWindow2 = _interopRequireDefault(_isWindow);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function offset(node) {
+ var doc = (0, _ownerDocument2.default)(node),
+ win = (0, _isWindow2.default)(doc),
+ docElem = doc && doc.documentElement,
+ box = { top: 0, left: 0, height: 0, width: 0 };
+
+ if (!doc) return;
+
+ // Make sure it's not a disconnected DOM node
+ if (!(0, _contains2.default)(docElem, node)) return box;
+
+ if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();
+
+ if (box.width || box.height) {
+
+ box = {
+ top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),
+ left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),
+ width: (box.width == null ? node.offsetWidth : box.width) || 0,
+ height: (box.height == null ? node.offsetHeight : box.height) || 0
+ };
+ }
+
+ return box;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 75 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ exports.__esModule = true;
+ exports.noop = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports.bottom = bottom;
+ exports.cloneLayout = cloneLayout;
+ exports.cloneLayoutItem = cloneLayoutItem;
+ exports.childrenEqual = childrenEqual;
+ exports.collides = collides;
+ exports.compact = compact;
+ exports.compactItem = compactItem;
+ exports.correctBounds = correctBounds;
+ exports.getLayoutItem = getLayoutItem;
+ exports.getFirstCollision = getFirstCollision;
+ exports.getAllCollisions = getAllCollisions;
+ exports.getStatics = getStatics;
+ exports.moveElement = moveElement;
+ exports.moveElementAwayFromCollision = moveElementAwayFromCollision;
+ exports.perc = perc;
+ exports.setTransform = setTransform;
+ exports.setTopLeft = setTopLeft;
+ exports.sortLayoutItems = sortLayoutItems;
+ exports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;
+ exports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;
+ exports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;
+ exports.validateLayout = validateLayout;
+ exports.autoBindHandlers = autoBindHandlers;
+
+ var _lodash = __webpack_require__(20);
+
+ var _lodash2 = _interopRequireDefault(_lodash);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ // All callbacks are of the signature (layout, oldItem, newItem, placeholder, e).
+ var isProduction = process.env.NODE_ENV === "production";
+ var DEBUG = false;
+
+ /**
+ * Return the bottom coordinate of the layout.
+ *
+ * @param {Array} layout Layout array.
+ * @return {Number} Bottom coordinate.
+ */
+ function bottom(layout) {
+ var max = 0,
+ bottomY = void 0;
+ for (var _i = 0, len = layout.length; _i < len; _i++) {
+ bottomY = layout[_i].y + layout[_i].h;
+ if (bottomY > max) max = bottomY;
+ }
+ return max;
+ }
+
+ function cloneLayout(layout) {
+ var newLayout = Array(layout.length);
+ for (var _i2 = 0, len = layout.length; _i2 < len; _i2++) {
+ newLayout[_i2] = cloneLayoutItem(layout[_i2]);
+ }
+ return newLayout;
+ }
+
+ // Fast path to cloning, since this is monomorphic
+ function cloneLayoutItem(layoutItem) {
+ return {
+ w: layoutItem.w,
+ h: layoutItem.h,
+ x: layoutItem.x,
+ y: layoutItem.y,
+ i: layoutItem.i,
+ minW: layoutItem.minW,
+ maxW: layoutItem.maxW,
+ minH: layoutItem.minH,
+ maxH: layoutItem.maxH,
+ moved: Boolean(layoutItem.moved),
+ static: Boolean(layoutItem.static),
+ // These can be null
+ isDraggable: layoutItem.isDraggable,
+ isResizable: layoutItem.isResizable
+ };
+ }
+
+ /**
+ * Comparing React `children` is a bit difficult. This is a good way to compare them.
+ * This will catch differences in keys, order, and length.
+ */
+ function childrenEqual(a, b) {
+ return (0, _lodash2.default)(_react2.default.Children.map(a, function (c) {
+ return c.key;
+ }), _react2.default.Children.map(b, function (c) {
+ return c.key;
+ }));
+ }
+
+ /**
+ * Given two layoutitems, check if they collide.
+ */
+ function collides(l1, l2) {
+ if (l1 === l2) return false; // same element
+ if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2
+ if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2
+ if (l1.y + l1.h <= l2.y) return false; // l1 is above l2
+ if (l1.y >= l2.y + l2.h) return false; // l1 is below l2
+ return true; // boxes overlap
+ }
+
+ /**
+ * Given a layout, compact it. This involves going down each y coordinate and removing gaps
+ * between items.
+ *
+ * @param {Array} layout Layout.
+ * @param {Boolean} verticalCompact Whether or not to compact the layout
+ * vertically.
+ * @return {Array} Compacted Layout.
+ */
+ function compact(layout, compactType, cols) {
+ // Statics go in the compareWith array right away so items flow around them.
+ var compareWith = getStatics(layout);
+ // We go through the items by row and column.
+ var sorted = sortLayoutItems(layout, compactType);
+ // Holding for new items.
+ var out = Array(layout.length);
+
+ for (var _i3 = 0, len = sorted.length; _i3 < len; _i3++) {
+ var l = cloneLayoutItem(sorted[_i3]);
+
+ // Don't move static elements
+ if (!l.static) {
+ l = compactItem(compareWith, l, compactType, cols, sorted);
+
+ // Add to comparison array. We only collide with items before this one.
+ // Statics are already in this array.
+ compareWith.push(l);
+ }
+
+ // Add to output array to make sure they still come out in the right order.
+ out[layout.indexOf(sorted[_i3])] = l;
+
+ // Clear moved flag, if it exists.
+ l.moved = false;
+ }
+
+ return out;
+ }
+
+ var heightWidth = { x: "w", y: "h" };
+ /**
+ * Before moving item down, it will check if the movement will cause collisions and move those items down before.
+ */
+ function resolveCompactionCollision(layout, item, moveToCoord, axis) {
+ var sizeProp = heightWidth[axis];
+ item[axis] += 1;
+ var itemIndex = layout.indexOf(item);
+
+ // Go through each item we collide with.
+ for (var _i4 = itemIndex + 1; _i4 < layout.length; _i4++) {
+ var otherItem = layout[_i4];
+ // Ignore static items
+ if (otherItem.static) continue;
+
+ // Optimization: we can break early if we know we're past this el
+ // We can do this b/c it's a sorted layout
+ if (otherItem.y > item.y + item.h) break;
+
+ if (collides(item, otherItem)) {
+ resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);
+ }
+ }
+
+ item[axis] = moveToCoord;
+ }
+
+ /**
+ * Compact an item in the layout.
+ */
+ function compactItem(compareWith, l, compactType, cols, fullLayout) {
+ var compactV = compactType === "vertical";
+ var compactH = compactType === "horizontal";
+ if (compactV) {
+ // Bottom 'y' possible is the bottom of the layout.
+ // This allows you to do nice stuff like specify {y: Infinity}
+ // This is here because the layout must be sorted in order to get the correct bottom `y`.
+ l.y = Math.min(bottom(compareWith), l.y);
+ // Move the element up as far as it can go without colliding.
+ while (l.y > 0 && !getFirstCollision(compareWith, l)) {
+ l.y--;
+ }
+ } else if (compactH) {
+ l.y = Math.min(bottom(compareWith), l.y);
+ // Move the element left as far as it can go without colliding.
+ while (l.x > 0 && !getFirstCollision(compareWith, l)) {
+ l.x--;
+ }
+ }
+
+ // Move it down, and keep moving it down if it's colliding.
+ var collides = void 0;
+ while (collides = getFirstCollision(compareWith, l)) {
+ if (compactH) {
+ resolveCompactionCollision(fullLayout, l, collides.x + collides.w, "x");
+ } else {
+ resolveCompactionCollision(fullLayout, l, collides.y + collides.h, "y");
+ }
+ // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.
+ if (compactH && l.x + l.w > cols) {
+ l.x = cols - l.w;
+ l.y++;
+ }
+ }
+ return l;
+ }
+
+ /**
+ * Given a layout, make sure all elements fit within its bounds.
+ *
+ * @param {Array} layout Layout array.
+ * @param {Number} bounds Number of columns.
+ */
+ function correctBounds(layout, bounds) {
+ var collidesWith = getStatics(layout);
+ for (var _i5 = 0, len = layout.length; _i5 < len; _i5++) {
+ var l = layout[_i5];
+ // Overflows right
+ if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w;
+ // Overflows left
+ if (l.x < 0) {
+ l.x = 0;
+ l.w = bounds.cols;
+ }
+ if (!l.static) collidesWith.push(l);else {
+ // If this is static and collides with other statics, we must move it down.
+ // We have to do something nicer than just letting them overlap.
+ while (getFirstCollision(collidesWith, l)) {
+ l.y++;
+ }
+ }
+ }
+ return layout;
+ }
+
+ /**
+ * Get a layout item by ID. Used so we can override later on if necessary.
+ *
+ * @param {Array} layout Layout array.
+ * @param {String} id ID
+ * @return {LayoutItem} Item at ID.
+ */
+ function getLayoutItem(layout, id) {
+ for (var _i6 = 0, len = layout.length; _i6 < len; _i6++) {
+ if (layout[_i6].i === id) return layout[_i6];
+ }
+ }
+
+ /**
+ * Returns the first item this layout collides with.
+ * It doesn't appear to matter which order we approach this from, although
+ * perhaps that is the wrong thing to do.
+ *
+ * @param {Object} layoutItem Layout item.
+ * @return {Object|undefined} A colliding layout item, or undefined.
+ */
+ function getFirstCollision(layout, layoutItem) {
+ for (var _i7 = 0, len = layout.length; _i7 < len; _i7++) {
+ if (collides(layout[_i7], layoutItem)) return layout[_i7];
+ }
+ }
+
+ function getAllCollisions(layout, layoutItem) {
+ return layout.filter(function (l) {
+ return collides(l, layoutItem);
+ });
+ }
+
+ /**
+ * Get all static elements.
+ * @param {Array} layout Array of layout objects.
+ * @return {Array} Array of static layout items..
+ */
+ function getStatics(layout) {
+ return layout.filter(function (l) {
+ return l.static;
+ });
+ }
+
+ /**
+ * Move an element. Responsible for doing cascading movements of other elements.
+ *
+ * @param {Array} layout Full layout to modify.
+ * @param {LayoutItem} l element to move.
+ * @param {Number} [x] X position in grid units.
+ * @param {Number} [y] Y position in grid units.
+ */
+ function moveElement(layout, l, x, y, isUserAction, preventCollision, compactType, cols) {
+ if (l.static) return layout;
+
+ // Short-circuit if nothing to do.
+ if (l.y === y && l.x === x) return layout;
+
+ log("Moving element " + l.i + " to [" + String(x) + "," + String(y) + "] from [" + l.x + "," + l.y + "]");
+ var oldX = l.x;
+ var oldY = l.y;
+
+ // This is quite a bit faster than extending the object
+ if (typeof x === 'number') l.x = x;
+ if (typeof y === 'number') l.y = y;
+ l.moved = true;
+
+ // If this collides with anything, move it.
+ // When doing this comparison, we have to sort the items we compare with
+ // to ensure, in the case of multiple collisions, that we're getting the
+ // nearest collision.
+ var sorted = sortLayoutItems(layout, compactType);
+ var movingUp = compactType === "vertical" && typeof y === 'number' ? oldY >= y : compactType === "horizontal" && typeof x === 'number' ? oldX >= x : false;
+ if (movingUp) sorted = sorted.reverse();
+ var collisions = getAllCollisions(sorted, l);
+
+ // There was a collision; abort
+ if (preventCollision && collisions.length) {
+ log("Collision prevented on " + l.i + ", reverting.");
+ l.x = oldX;
+ l.y = oldY;
+ l.moved = false;
+ return layout;
+ }
+
+ // Move each item that collides away from this element.
+ for (var _i8 = 0, len = collisions.length; _i8 < len; _i8++) {
+ var collision = collisions[_i8];
+ log("Resolving collision between " + l.i + " at [" + l.x + "," + l.y + "] and " + collision.i + " at [" + collision.x + "," + collision.y + "]");
+
+ // Short circuit so we can't infinite loop
+ if (collision.moved) continue;
+
+ // Don't move static items - we have to move *this* element away
+ if (collision.static) {
+ layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);
+ } else {
+ layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);
+ }
+ }
+
+ return layout;
+ }
+
+ /**
+ * This is where the magic needs to happen - given a collision, move an element away from the collision.
+ * We attempt to move it up if there's room, otherwise it goes below.
+ *
+ * @param {Array} layout Full layout to modify.
+ * @param {LayoutItem} collidesWith Layout item we're colliding with.
+ * @param {LayoutItem} itemToMove Layout item we're moving.
+ */
+ function moveElementAwayFromCollision(layout, collidesWith, itemToMove, isUserAction, compactType, cols) {
+ var compactH = compactType === "horizontal";
+ var compactV = compactType === "vertical";
+ var preventCollision = false; // we're already colliding
+
+ // If there is enough space above the collision to put this element, move it there.
+ // We only do this on the main collision as this can get funky in cascades and cause
+ // unwanted swapping behavior.
+ if (isUserAction) {
+ // Reset isUserAction flag because we're not in the main collision anymore.
+ isUserAction = false;
+
+ // Make a mock item so we don't modify the item here, only modify in moveElement.
+ var fakeItem = {
+ x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,
+ y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,
+ w: itemToMove.w,
+ h: itemToMove.h,
+ i: "-1"
+ };
+
+ // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal
+ if (!getFirstCollision(layout, fakeItem)) {
+ log("Doing reverse collision on " + itemToMove.i + " up to [" + fakeItem.x + "," + fakeItem.y + "].");
+ return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);
+ }
+ }
+
+ return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);
+ }
+
+ /**
+ * Helper to convert a number to a percentage string.
+ *
+ * @param {Number} num Any number
+ * @return {String} That number as a percentage.
+ */
+ function perc(num) {
+ return num * 100 + "%";
+ }
+
+ function setTransform(_ref) {
+ var top = _ref.top,
+ left = _ref.left,
+ width = _ref.width,
+ height = _ref.height;
+
+ // Replace unitless items with px
+ var translate = "translate(" + left + "px," + top + "px)";
+ return {
+ transform: translate,
+ WebkitTransform: translate,
+ MozTransform: translate,
+ msTransform: translate,
+ OTransform: translate,
+ width: width + "px",
+ height: height + "px",
+ position: "absolute"
+ };
+ }
+
+ function setTopLeft(_ref2) {
+ var top = _ref2.top,
+ left = _ref2.left,
+ width = _ref2.width,
+ height = _ref2.height;
+
+ return {
+ top: top + "px",
+ left: left + "px",
+ width: width + "px",
+ height: height + "px",
+ position: "absolute"
+ };
+ }
+
+ /**
+ * Get layout items sorted from top left to right and down.
+ *
+ * @return {Array} Array of layout objects.
+ * @return {Array} Layout, sorted static items first.
+ */
+ function sortLayoutItems(layout, compactType) {
+ if (compactType === "horizontal") return sortLayoutItemsByColRow(layout);else return sortLayoutItemsByRowCol(layout);
+ }
+
+ function sortLayoutItemsByRowCol(layout) {
+ return [].concat(layout).sort(function (a, b) {
+ if (a.y > b.y || a.y === b.y && a.x > b.x) {
+ return 1;
+ } else if (a.y === b.y && a.x === b.x) {
+ // Without this, we can get different sort results in IE vs. Chrome/FF
+ return 0;
+ }
+ return -1;
+ });
+ }
+
+ function sortLayoutItemsByColRow(layout) {
+ return [].concat(layout).sort(function (a, b) {
+ if (a.x > b.x || a.x === b.x && a.y > b.y) {
+ return 1;
+ }
+ return -1;
+ });
+ }
+
+ /**
+ * Generate a layout using the initialLayout and children as a template.
+ * Missing entries will be added, extraneous ones will be truncated.
+ *
+ * @param {Array} initialLayout Layout passed in through props.
+ * @param {String} breakpoint Current responsive breakpoint.
+ * @param {?String} compact Compaction option.
+ * @return {Array} Working layout.
+ */
+ function synchronizeLayoutWithChildren(initialLayout, children, cols, compactType) {
+ initialLayout = initialLayout || [];
+
+ // Generate one layout item per child.
+ var layout = [];
+ _react2.default.Children.forEach(children, function (child, i) {
+ // Don't overwrite if it already exists.
+ var exists = getLayoutItem(initialLayout, String(child.key));
+ if (exists) {
+ layout[i] = cloneLayoutItem(exists);
+ } else {
+ if (!isProduction && child.props._grid) {
+ console.warn("`_grid` properties on children have been deprecated as of React 15.2. " + // eslint-disable-line
+ "Please use `data-grid` or add your properties directly to the `layout`.");
+ }
+ var g = child.props["data-grid"] || child.props._grid;
+
+ // Hey, this item has a data-grid property, use it.
+ if (g) {
+ if (!isProduction) {
+ validateLayout([g], "ReactGridLayout.children");
+ }
+ layout[i] = cloneLayoutItem(_extends({}, g, { i: child.key }));
+ } else {
+ // Nothing provided: ensure this is added to the bottom
+ layout[i] = cloneLayoutItem({
+ w: 1,
+ h: 1,
+ x: 0,
+ y: bottom(layout),
+ i: String(child.key)
+ });
+ }
+ }
+ });
+
+ // Correct the layout.
+ layout = correctBounds(layout, { cols: cols });
+ layout = compact(layout, compactType, cols);
+
+ return layout;
+ }
+
+ /**
+ * Validate a layout. Throws errors.
+ *
+ * @param {Array} layout Array of layout items.
+ * @param {String} [contextName] Context name for errors.
+ * @throw {Error} Validation error.
+ */
+ function validateLayout(layout) {
+ var contextName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Layout";
+
+ var subProps = ["x", "y", "w", "h"];
+ if (!Array.isArray(layout)) throw new Error(contextName + " must be an array!");
+ for (var _i9 = 0, len = layout.length; _i9 < len; _i9++) {
+ var item = layout[_i9];
+ for (var j = 0; j < subProps.length; j++) {
+ if (typeof item[subProps[j]] !== "number") {
+ throw new Error("ReactGridLayout: " + contextName + "[" + _i9 + "]." + subProps[j] + " must be a number!");
+ }
+ }
+ if (item.i && typeof item.i !== "string") {
+ throw new Error("ReactGridLayout: " + contextName + "[" + _i9 + "].i must be a string!");
+ }
+ if (item.static !== undefined && typeof item.static !== "boolean") {
+ throw new Error("ReactGridLayout: " + contextName + "[" + _i9 + "].static must be a boolean!");
+ }
+ }
+ }
+
+ // Flow can't really figure this out, so we just use Object
+ function autoBindHandlers(el, fns) {
+ fns.forEach(function (key) {
+ return el[key] = el[key].bind(el);
+ });
+ }
+
+ function log() {
+ var _console;
+
+ if (!DEBUG) return;
+ // eslint-disable-next-line no-console
+ (_console = console).log.apply(_console, arguments);
+ }
+
+ var noop = exports.noop = function noop() {};
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 76 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _ownerDocument = __webpack_require__(42);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _getContainer = __webpack_require__(329);
+
+ var _getContainer2 = _interopRequireDefault(_getContainer);
+
+ var _tinperBeeCore = __webpack_require__(60);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var isReact16 = _reactDom2["default"].createPortal !== undefined;
+ var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
+
+ var propTypes = {
+ /**
+ * 存放子组件的容器
+ */
+ container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
+ };
+
+ var defaultProps = {};
+
+ /**
+ * Portal组件是将子组件渲染
+ */
+
+ var Portal = function (_Component) {
+ _inherits(Portal, _Component);
+
+ function Portal(props) {
+ _classCallCheck(this, Portal);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.getMountNode = _this.getMountNode.bind(_this);
+ _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
+ _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
+ _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
+ _this.renderOverlay = _this.renderOverlay.bind(_this);
+ _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
+
+ _this.overlayTarget = isReact16 ? document.createElement('div') : null;
+ return _this;
+ }
+
+ Portal.prototype.componentDidMount = function componentDidMount() {
+ if (isReact16) {
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ } else {
+ this.renderOverlay();
+ }
+
+ this.mounted = true;
+ };
+
+ Portal.prototype.componentDidUpdate = function componentDidUpdate() {
+ if (isReact16) {
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+ if (overlay === null) {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ } else {}
+ } else {
+ this.renderOverlay();
+ }
+ };
+ //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
+
+
+ Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.overlayTarget && nextProps.container !== this.props.container) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+
+ Portal.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+
+ this.mounted = false;
+ };
+
+ Portal.prototype.getMountNode = function getMountNode() {
+ return this.overlayTarget;
+ };
+
+ Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
+ if (!this.mounted) {
+ throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
+ }
+
+ if (this.overlayInstance) {
+ return _reactDom2["default"].findDOMNode(this.overlayInstance);
+ }
+
+ return null;
+ };
+
+ /**
+ * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
+ */
+
+ Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
+ if (!this.overlayTarget) {
+ this.overlayTarget = document.createElement('div');
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+ /**
+ * 将要添加的子元素从容器中移除,并把变量置为null
+ */
+
+
+ Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
+ if (this.overlayTarget) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.overlayTarget = null;
+ }
+ this.portalContainerNode = null;
+ };
+ /**
+ * 手动渲染_overlayTarget
+ */
+
+
+ Portal.prototype.renderOverlay = function renderOverlay() {
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ // Save reference for future access.
+ if (overlay !== null) {
+ this.mountOverlayTarget();
+ this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
+ } else {
+ // Unrender if the component is null for transitions to null
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ }
+ };
+ /**
+ * 销毁_overlayTarget组件。并把_overlayInstance置为null
+ */
+
+
+ Portal.prototype.unrenderOverlay = function unrenderOverlay() {
+ if (this.overlayTarget) {
+ !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
+ this.overlayInstance = null;
+ }
+ };
+
+ Portal.prototype.render = function render() {
+ if (!isReact16) {
+ return null;
+ }
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
+ };
+
+ return Portal;
+ }(_react.Component);
+
+ ;
+
+ Portal.propTypes = propTypes;
+ Portal.defaultProps = defaultProps;
+
+ exports["default"] = Portal;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 77 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.toArray = toArray;
+ exports.getActiveIndex = getActiveIndex;
+ exports.getActiveKey = getActiveKey;
+ exports.setTransform = setTransform;
+ exports.isTransformSupported = isTransformSupported;
+ exports.setTransition = setTransition;
+ exports.getTransformPropValue = getTransformPropValue;
+ exports.isVertical = isVertical;
+ exports.getTransformByIndex = getTransformByIndex;
+ exports.getMarginStyle = getMarginStyle;
+ exports.getStyle = getStyle;
+ exports.setPxStyle = setPxStyle;
+ exports.getLeft = getLeft;
+ exports.getTop = getTop;
+ exports.getDataAttr = getDataAttr;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /**
+ * This source code is quoted from rc-tabs.
+ * homepage: https://github.com/react-component/tabs
+ */
+
+
+ function toArray(children) {
+ // allow [c,[a,b]]
+ var c = [];
+ _react2["default"].Children.forEach(children, function (child) {
+ if (child) {
+ c.push(child);
+ }
+ });
+ return c;
+ }
+
+ function getActiveIndex(children, activeKey) {
+ var c = toArray(children);
+ for (var i = 0; i < c.length; i++) {
+ if (c[i].key === activeKey) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ function getActiveKey(children, index) {
+ var c = toArray(children);
+ return c[index].key;
+ }
+
+ function setTransform(style, v) {
+ style.transform = v;
+ style.webkitTransform = v;
+ style.mozTransform = v;
+ }
+
+ function isTransformSupported(style) {
+ return 'transform' in style || 'webkitTransform' in style || 'MozTransform' in style;
+ }
+
+ function setTransition(style, v) {
+ style.transition = v;
+ style.webkitTransition = v;
+ style.MozTransition = v;
+ }
+ function getTransformPropValue(v) {
+ return {
+ transform: v,
+ WebkitTransform: v,
+ MozTransform: v
+ };
+ }
+
+ function isVertical(tabBarPosition) {
+ return tabBarPosition === 'left' || tabBarPosition === 'right';
+ }
+
+ function getTransformByIndex(index, tabBarPosition) {
+ var translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';
+ return translate + '(' + -index * 100 + '%) translateZ(0)';
+ }
+
+ function getMarginStyle(index, tabBarPosition) {
+ var marginDirection = isVertical(tabBarPosition) ? 'marginTop' : 'marginLeft';
+ return _defineProperty({}, marginDirection, -index * 100 + '%');
+ }
+
+ function getStyle(el, property) {
+ return +getComputedStyle(el).getPropertyValue(property).replace('px', '');
+ }
+
+ function setPxStyle(el, property, value) {
+ el.style[property] = value + 'px';
+ }
+
+ function toNum(style, property) {
+ return +style.getPropertyValue(property).replace('px', '');
+ }
+
+ function getTypeValue(start, current, end, tabNode, wrapperNode) {
+ var total = getStyle(wrapperNode, 'padding-' + start);
+ if (!tabNode || !tabNode.parentNode) {
+ return total;
+ }
+
+ var childNodes = tabNode.parentNode.childNodes;
+
+ Array.prototype.some.call(childNodes, function (node) {
+ var style = window.getComputedStyle(node);
+
+ if (node !== tabNode) {
+ total += toNum(style, 'margin-' + start);
+ total += node[current];
+ total += toNum(style, 'margin-' + end);
+
+ if (style.boxSizing === 'content-box') {
+ total += toNum(style, 'border-' + start + '-width') + toNum(style, 'border-' + end + '-width');
+ }
+ return false;
+ }
+
+ // We need count current node margin
+ // ref: https://github.com/react-component/tabs/pull/139#issuecomment-431005262
+ total += toNum(style, 'margin-' + start);
+
+ return true;
+ });
+
+ return total;
+ }
+
+ function getLeft(tabNode, wrapperNode) {
+ return getTypeValue('left', 'offsetWidth', 'right', tabNode, wrapperNode);
+ }
+
+ function getTop(tabNode, wrapperNode) {
+ return getTypeValue('top', 'offsetHeight', 'bottom', tabNode, wrapperNode);
+ }
+
+ function getDataAttr(props) {
+ return Object.keys(props).reduce(function (prev, key) {
+ if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {
+ prev[key] = props[key];
+ }
+ return prev;
+ }, {});
+ }
+
+ /***/ }),
+ /* 78 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _tinperBeeCore = __webpack_require__(79);
+
+ var _reactLifecyclesCompat = __webpack_require__(14);
+
+ var _moment = __webpack_require__(4);
+
+ var _moment2 = _interopRequireDefault(_moment);
+
+ var _util = __webpack_require__(32);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var cachedSelectionStart = void 0;
+ var cachedSelectionEnd = void 0;
+ var dateInputInstance = void 0;
+
+ var DateInput = function (_React$Component) {
+ _inherits(DateInput, _React$Component);
+
+ function DateInput(props) {
+ _classCallCheck(this, DateInput);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var selectedValue = props.selectedValue;
+
+ _this.state = {
+ str: (0, _util.formatDate)(selectedValue, _this.props.format),
+ invalid: false,
+ hasFocus: false
+ };
+ return _this;
+ }
+
+ DateInput.prototype.componentDidUpdate = function componentDidUpdate() {
+ if (dateInputInstance && this.state.hasFocus && !this.state.invalid && !(cachedSelectionStart === 0 && cachedSelectionEnd === 0)) {
+ dateInputInstance.setSelectionRange(cachedSelectionStart, cachedSelectionEnd);
+ }
+ };
+
+ DateInput.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, state) {
+ var newState = {};
+
+ if (dateInputInstance) {
+ cachedSelectionStart = dateInputInstance.selectionStart;
+ cachedSelectionEnd = dateInputInstance.selectionEnd;
+ }
+ // when popup show, click body will call this, bug!
+ var selectedValue = nextProps.selectedValue;
+ if (!state.hasFocus) {
+ newState = {
+ str: (0, _util.formatDate)(selectedValue, nextProps.format),
+ invalid: false
+ };
+ }
+
+ return newState;
+ };
+
+ DateInput.getInstance = function getInstance() {
+ return dateInputInstance;
+ };
+
+ DateInput.prototype.render = function render() {
+ var props = this.props;
+ var _state = this.state,
+ invalid = _state.invalid,
+ str = _state.str;
+ var locale = props.locale,
+ prefixCls = props.prefixCls,
+ placeholder = props.placeholder,
+ clearIcon = props.clearIcon,
+ renderError = props.renderError,
+ inputTabIndex = props.inputTabIndex;
+
+ var invalidClass = invalid ? prefixCls + '-input-invalid' : '';
+ return _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-input-wrap' },
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-date-input-wrap' },
+ _react2["default"].createElement('input', {
+ ref: this.saveDateInput,
+ className: prefixCls + '-input ' + invalidClass,
+ value: str ? str : (0, _util.formatDate)(props.selectedValue, props.format),
+ disabled: props.disabled,
+ placeholder: placeholder,
+ onChange: this.onInputChange,
+ onKeyDown: this.onKeyDown,
+ onFocus: this.onFocus,
+ onBlur: this.onBlur,
+ tabIndex: inputTabIndex
+ }),
+ invalid && renderError ? renderError() : ''
+ ),
+ props.showClear ? _react2["default"].createElement(
+ 'a',
+ {
+ role: 'button',
+ title: locale.clear,
+ onClick: this.onClear
+ },
+ clearIcon || _react2["default"].createElement('span', { className: prefixCls + '-clear-btn uf uf-close-c' })
+ ) : null
+ );
+ };
+
+ return DateInput;
+ }(_react2["default"].Component);
+
+ DateInput.propTypes = {
+ prefixCls: _propTypes2["default"].string,
+ timePicker: _propTypes2["default"].object,
+ value: _propTypes2["default"].object,
+ disabledTime: _propTypes2["default"].any,
+ format: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].arrayOf(_propTypes2["default"].string)]),
+ locale: _propTypes2["default"].object,
+ disabledDate: _propTypes2["default"].func,
+ onChange: _propTypes2["default"].func,
+ onClear: _propTypes2["default"].func,
+ placeholder: _propTypes2["default"].string,
+ onSelect: _propTypes2["default"].func,
+ selectedValue: _propTypes2["default"].object,
+ clearIcon: _propTypes2["default"].node
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.onClear = function () {
+ _this2.setState({
+ str: ''
+ });
+ _this2.props.onClear(null);
+ };
+
+ this.onInputChange = function (event) {
+ var str = event.target.value;
+ var _props = _this2.props,
+ disabledDate = _props.disabledDate,
+ format = _props.format,
+ onChange = _props.onChange,
+ selectedValue = _props.selectedValue,
+ validatorFunc = _props.validatorFunc;
+
+ // 没有内容,合法并直接退出
+
+ if (!str) {
+ onChange(null);
+ _this2.setState({
+ // invalid: false,
+ str: str
+ });
+ return;
+ }
+
+ // 不合法直接退出
+ var parsed = (0, _moment2["default"])(str, format, true);
+ if (!parsed.isValid()) {
+ _this2.setState({
+ // invalid: true,
+ str: str
+ });
+ return;
+ }
+ if (!_this2.props.validatorFunc(str)) {
+ _this2.setState({
+ str: str
+ });
+ return;
+ };
+
+ var value = _this2.props.value.clone();
+ value.year(parsed.year()).month(parsed.month()).date(parsed.date()).hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
+
+ if (!value || disabledDate && disabledDate(value)) {
+ _this2.setState({
+ // invalid: true,
+ str: str
+ });
+ return;
+ }
+
+ if (selectedValue !== value || selectedValue && value && !selectedValue.isSame(value)) {
+ _this2.setState({
+ // invalid: false,
+ str: str
+ });
+ onChange(value);
+ }
+ };
+
+ this.onFocus = function () {
+ _this2.setState({ hasFocus: true });
+ };
+
+ this.onBlur = function (e) {
+ var str = e.target.value;
+ var _props2 = _this2.props,
+ disabledDate = _props2.disabledDate,
+ format = _props2.format,
+ onChange = _props2.onChange,
+ selectedValue = _props2.selectedValue;
+
+ // 没有内容,合法并直接退出
+
+ if (!str) {
+ _this2.setState({
+ invalid: false
+ });
+ return;
+ }
+
+ // 不合法直接退出
+ var parsed = (0, _moment2["default"])(str, format, true);
+ if (!parsed.isValid()) {
+ _this2.setState({
+ invalid: true
+ });
+ return;
+ }
+ if (!_this2.props.validatorFunc(str)) {
+ _this2.setState({
+ invalid: true
+ });
+ return;
+ };
+
+ var value = _this2.props.value.clone();
+ value.year(parsed.year()).month(parsed.month()).date(parsed.date()).hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
+
+ if (!value || disabledDate && disabledDate(value)) {
+ _this2.setState({
+ invalid: true
+ });
+ return;
+ }
+
+ if (selectedValue !== value || selectedValue && value && !selectedValue.isSame(value)) {
+ _this2.setState({
+ invalid: false
+ });
+ }
+
+ _this2.setState(function (prevState, prevProps) {
+ return {
+ hasFocus: false,
+ str: (0, _util.formatDate)(prevProps.value, prevProps.format)
+ };
+ });
+ _this2.props.onBlur && _this2.props.onBlur(e);
+ };
+
+ this.onKeyDown = function (e) {
+ var _props3 = _this2.props,
+ onSelect = _props3.onSelect,
+ value = _props3.value,
+ onKeyDown = _props3.onKeyDown,
+ format = _props3.format,
+ isRange = _props3.isRange,
+ validatorFunc = _props3.validatorFunc,
+ disabledDate = _props3.disabledDate;
+
+ var str = e.target.value;
+ var parsed = (0, _moment2["default"])(str, format, true);
+ if (e.keyCode === _tinperBeeCore.KeyCode.ENTER) {
+ if (parsed.isValid() && onSelect) {
+ isRange ? onSelect(parsed.clone()) : onSelect(value.clone()); //FIX https://github.com/iuap-design/tinper-bee/issues/183
+ }
+ // 没有内容,回填默认值,并关闭面板
+ if (!str) {
+ _this2.setState({
+ invalid: false
+ });
+ onSelect && onSelect((0, _moment2["default"])());
+ return;
+ }
+ // 有内容,判断是否合法
+ if (!parsed.isValid()) {
+ _this2.setState({
+ invalid: true
+ });
+ }
+ if (!validatorFunc(str)) {
+ _this2.setState({
+ invalid: true
+ });
+ }
+ value.year(parsed.year()).month(parsed.month()).date(parsed.date()).hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
+
+ if (!value || disabledDate && disabledDate(value)) {
+ _this2.setState({
+ invalid: true
+ });
+ }
+ }
+ // if (e.keyCode === KeyCode.ENTER && onSelect) {
+ // onSelect(value.clone());
+ // }
+ onKeyDown && onKeyDown(e);
+ };
+
+ this.getRootDOMNode = function () {
+ return _reactDom2["default"].findDOMNode(_this2);
+ };
+
+ this.focus = function () {
+ if (dateInputInstance) {
+ dateInputInstance.focus();
+ }
+ };
+
+ this.saveDateInput = function (dateInput) {
+ dateInputInstance = dateInput;
+ };
+ };
+
+ (0, _reactLifecyclesCompat.polyfill)(DateInput);
+
+ exports["default"] = DateInput;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 79 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1276);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1277);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1278);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1279);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1280);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1281);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1282);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1283);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1284);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(467);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1285);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1287);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1288);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 80 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _reactLifecyclesCompat = __webpack_require__(14);
+
+ var _createChainedFunction = __webpack_require__(296);
+
+ var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
+
+ var _KeyCode = __webpack_require__(59);
+
+ var _KeyCode2 = _interopRequireDefault(_KeyCode);
+
+ var _placements = __webpack_require__(1291);
+
+ var _placements2 = _interopRequireDefault(_placements);
+
+ var _rcTrigger = __webpack_require__(73);
+
+ var _rcTrigger2 = _interopRequireDefault(_rcTrigger);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function noop() {}
+
+ function refFn(field, component) {
+ this[field] = component;
+ }
+
+ var Picker = function (_React$Component) {
+ _inherits(Picker, _React$Component);
+
+ function Picker(props) {
+ _classCallCheck(this, Picker);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var open = void 0;
+ if ('open' in props) {
+ open = props.open;
+ } else {
+ open = props.defaultOpen;
+ }
+ var value = props.value || props.defaultValue;
+ _this.saveCalendarRef = refFn.bind(_this, 'calendarInstance');
+
+ _this.state = {
+ open: open,
+ value: value
+ };
+ return _this;
+ }
+
+ Picker.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
+ if (!prevState.open && this.state.open) {
+ // setTimeout is for making sure saveCalendarRef happen before focusCalendar
+ this.focusTimeout = setTimeout(this.focusCalendar, 0, this);
+ }
+ };
+
+ Picker.prototype.componentWillUnmount = function componentWillUnmount() {
+ clearTimeout(this.focusTimeout);
+ };
+
+ Picker.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps) {
+ var newState = {};
+ var value = nextProps.value,
+ open = nextProps.open;
+
+ if ('value' in nextProps) {
+ newState.value = value;
+ }
+ if (open !== undefined) {
+ newState.open = open;
+ }
+ return newState;
+ };
+
+ Picker.prototype.render = function render() {
+ var props = this.props;
+ var prefixCls = props.prefixCls,
+ placement = props.placement,
+ style = props.style,
+ getCalendarContainer = props.getCalendarContainer,
+ align = props.align,
+ animation = props.animation,
+ disabled = props.disabled,
+ dropdownClassName = props.dropdownClassName,
+ transitionName = props.transitionName,
+ children = props.children;
+
+ var state = this.state;
+ return _react2["default"].createElement(
+ _rcTrigger2["default"],
+ {
+ popup: this.getCalendarElement(),
+ popupAlign: align,
+ builtinPlacements: _placements2["default"],
+ popupPlacement: placement,
+ action: disabled && !state.open ? [] : ['click'],
+ destroyPopupOnHide: true,
+ getPopupContainer: getCalendarContainer,
+ popupStyle: style,
+ popupAnimation: animation,
+ popupTransitionName: transitionName,
+ popupVisible: state.open,
+ onPopupVisibleChange: this.onVisibleChange,
+ prefixCls: prefixCls,
+ popupClassName: dropdownClassName
+ },
+ _react2["default"].cloneElement(children(state, props), { onKeyDown: this.onKeyDown })
+ );
+ };
+
+ return Picker;
+ }(_react2["default"].Component);
+
+ Picker.propTypes = {
+ animation: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].string]),
+ disabled: _propTypes2["default"].bool,
+ transitionName: _propTypes2["default"].string,
+ onChange: _propTypes2["default"].func,
+ onOpenChange: _propTypes2["default"].func,
+ children: _propTypes2["default"].func,
+ getCalendarContainer: _propTypes2["default"].func,
+ calendar: _propTypes2["default"].element,
+ style: _propTypes2["default"].object,
+ open: _propTypes2["default"].bool,
+ defaultOpen: _propTypes2["default"].bool,
+ prefixCls: _propTypes2["default"].string,
+ placement: _propTypes2["default"].any,
+ value: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].array]),
+ defaultValue: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].array]),
+ align: _propTypes2["default"].object,
+ enterKeyDown: _propTypes2["default"].bool //enter 键是否打开日期面板
+ };
+ Picker.defaultProps = {
+ prefixCls: 'rc-calendar-picker',
+ style: {},
+ align: {},
+ placement: 'bottomLeft',
+ defaultOpen: false,
+ onChange: noop,
+ onOpenChange: noop,
+ enterKeyDown: true
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.onCalendarKeyDown = function (event) {
+ if (event.keyCode === _KeyCode2["default"].ESC) {
+ event.stopPropagation();
+ _this2.close(_this2.focus);
+ }
+ _this2.props.onKeyDown && _this2.props.onKeyDown(event);
+ };
+
+ this.onCalendarSelect = function (value) {
+ var cause = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+
+ var props = _this2.props;
+ var isDisabled = props.disabledDate && props.disabledDate(value);
+ if (isDisabled) return;
+ if (!('value' in props)) {
+ _this2.setState({
+ value: value
+ });
+ }
+ if (cause.source === 'keyboard' || cause.source === 'dateInputSelect' || !props.calendar.props.timePicker && cause.source !== 'dateInput' || cause.source === 'todayButton') {
+ _this2.close(_this2.focus);
+ }
+ props.onChange(value);
+ };
+
+ this.onKeyDown = function (event) {
+ var enterKeyDown = _this2.props.enterKeyDown;
+
+ if (event.keyCode === _KeyCode2["default"].DOWN || enterKeyDown && event.keyCode === _KeyCode2["default"].ENTER) {
+ if (!_this2.state.open) _this2.open();
+ event.preventDefault();
+ }
+ _this2.props.onKeyDown && _this2.props.onKeyDown(event);
+ };
+
+ this.onCalendarOk = function () {
+ _this2.close(_this2.focus);
+ };
+
+ this.onCalendarClear = function () {
+ _this2.close(_this2.focus);
+ };
+
+ this.onVisibleChange = function (open) {
+ _this2.setOpen(open);
+ };
+
+ this.getCalendarElement = function () {
+ var props = _this2.props;
+ var state = _this2.state;
+ var calendarProps = props.calendar.props;
+ var value = state.value;
+
+ var defaultValue = value;
+ var extraProps = {
+ ref: _this2.saveCalendarRef,
+ defaultValue: defaultValue || calendarProps.defaultValue,
+ selectedValue: value,
+ onKeyDown: _this2.onCalendarKeyDown,
+ onOk: (0, _createChainedFunction2["default"])(calendarProps.onOk, _this2.onCalendarOk),
+ onSelect: (0, _createChainedFunction2["default"])(calendarProps.onSelect, _this2.onCalendarSelect),
+ onClear: (0, _createChainedFunction2["default"])(calendarProps.onClear, _this2.onCalendarClear)
+ };
+
+ return _react2["default"].cloneElement(props.calendar, extraProps);
+ };
+
+ this.setOpen = function (open, callback) {
+ var onOpenChange = _this2.props.onOpenChange;
+
+ if (_this2.state.open !== open) {
+ if (!('open' in _this2.props)) {
+ _this2.setState({
+ open: open
+ }, callback);
+ }
+ onOpenChange(open);
+ }
+ };
+
+ this.open = function (callback) {
+ _this2.setOpen(true, callback);
+ };
+
+ this.close = function (callback) {
+ _this2.setOpen(false, callback);
+ };
+
+ this.focus = function () {
+ if (!_this2.state.open) {
+ _reactDom2["default"].findDOMNode(_this2).focus();
+ }
+ };
+
+ this.focusCalendar = function () {
+ if (_this2.state.open && !!_this2.calendarInstance) {
+ _this2.calendarInstance.focus();
+ }
+ };
+ };
+
+ (0, _reactLifecyclesCompat.polyfill)(Picker);
+
+ exports["default"] = Picker;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 81 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _FormControl = __webpack_require__(1292);
+
+ var _FormControl2 = _interopRequireDefault(_FormControl);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _FormControl2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 82 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ module.exports = __webpack_require__(1296);
+
+ /***/ }),
+ /* 83 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Icon = __webpack_require__(1350);
+
+ var _Icon2 = _interopRequireDefault(_Icon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Icon2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 84 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = void 0;
+
+ var _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
+
+ exports.default = _default;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 85 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Icon = __webpack_require__(1579);
+
+ var _Icon2 = _interopRequireDefault(_Icon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Icon2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 86 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _defineProperty = __webpack_require__(215);
+
+ var _defineProperty2 = _interopRequireDefault(_defineProperty);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = function (obj, key, value) {
+ if (key in obj) {
+ (0, _defineProperty2.default)(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ };
+
+ /***/ }),
+ /* 87 */
+ /***/ (function(module, exports) {
+
+ module.exports = true;
+
+
+ /***/ }),
+ /* 88 */
+ /***/ (function(module, exports) {
+
+ var id = 0;
+ var px = Math.random();
+ module.exports = function (key) {
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
+ };
+
+
+ /***/ }),
+ /* 89 */
+ /***/ (function(module, exports) {
+
+ exports.f = {}.propertyIsEnumerable;
+
+
+ /***/ }),
+ /* 90 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+
+
+ var unsafeLifecyclesPolyfill = function unsafeLifecyclesPolyfill(Component) {
+ var prototype = Component.prototype;
+
+ if (!prototype || !prototype.isReactComponent) {
+ throw new Error('Can only polyfill class components');
+ } // only handle componentWillReceiveProps
+
+
+ if (typeof prototype.componentWillReceiveProps !== 'function') {
+ return Component;
+ } // In React 16.9, React.Profiler was introduced together with UNSAFE_componentWillReceiveProps
+ // https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#performance-measurements-with-reactprofiler
+
+
+ if (!__WEBPACK_IMPORTED_MODULE_0_react___default.a.Profiler) {
+ return Component;
+ } // Here polyfill get started
+
+
+ prototype.UNSAFE_componentWillReceiveProps = prototype.componentWillReceiveProps;
+ delete prototype.componentWillReceiveProps;
+ return Component;
+ };
+
+ /* harmony default export */ __webpack_exports__["a"] = (unsafeLifecyclesPolyfill);
+
+ /***/ }),
+ /* 91 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var baseGetTag = __webpack_require__(228),
+ isObjectLike = __webpack_require__(635);
+
+ /** `Object#toString` result references. */
+ var symbolTag = '[object Symbol]';
+
+ /**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+ function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && baseGetTag(value) == symbolTag);
+ }
+
+ module.exports = isSymbol;
+
+
+ /***/ }),
+ /* 92 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var getNative = __webpack_require__(133);
+
+ /* Built-in method references that are verified to be native. */
+ var nativeCreate = getNative(Object, 'create');
+
+ module.exports = nativeCreate;
+
+
+ /***/ }),
+ /* 93 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var eq = __webpack_require__(134);
+
+ /**
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} key The key to search for.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function assocIndexOf(array, key) {
+ var length = array.length;
+ while (length--) {
+ if (eq(array[length][0], key)) {
+ return length;
+ }
+ }
+ return -1;
+ }
+
+ module.exports = assocIndexOf;
+
+
+ /***/ }),
+ /* 94 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var isKeyable = __webpack_require__(661);
+
+ /**
+ * Gets the data for `map`.
+ *
+ * @private
+ * @param {Object} map The map to query.
+ * @param {string} key The reference key.
+ * @returns {*} Returns the map data.
+ */
+ function getMapData(map, key) {
+ var data = map.__data__;
+ return isKeyable(key)
+ ? data[typeof key == 'string' ? 'string' : 'hash']
+ : data.map;
+ }
+
+ module.exports = getMapData;
+
+
+ /***/ }),
+ /* 95 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* WEBPACK VAR INJECTION */(function(global) {/**
+ * A collection of shims that provide minimal functionality of the ES6 collections.
+ *
+ * These implementations are not meant to be used outside of the ResizeObserver
+ * modules as they cover only a limited range of use cases.
+ */
+ /* eslint-disable require-jsdoc, valid-jsdoc */
+ var MapShim = (function () {
+ if (typeof Map !== 'undefined') {
+ return Map;
+ }
+ /**
+ * Returns index in provided array that matches the specified key.
+ *
+ * @param {Array} arr
+ * @param {*} key
+ * @returns {number}
+ */
+ function getIndex(arr, key) {
+ var result = -1;
+ arr.some(function (entry, index) {
+ if (entry[0] === key) {
+ result = index;
+ return true;
+ }
+ return false;
+ });
+ return result;
+ }
+ return /** @class */ (function () {
+ function class_1() {
+ this.__entries__ = [];
+ }
+ Object.defineProperty(class_1.prototype, "size", {
+ /**
+ * @returns {boolean}
+ */
+ get: function () {
+ return this.__entries__.length;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ /**
+ * @param {*} key
+ * @returns {*}
+ */
+ class_1.prototype.get = function (key) {
+ var index = getIndex(this.__entries__, key);
+ var entry = this.__entries__[index];
+ return entry && entry[1];
+ };
+ /**
+ * @param {*} key
+ * @param {*} value
+ * @returns {void}
+ */
+ class_1.prototype.set = function (key, value) {
+ var index = getIndex(this.__entries__, key);
+ if (~index) {
+ this.__entries__[index][1] = value;
+ }
+ else {
+ this.__entries__.push([key, value]);
+ }
+ };
+ /**
+ * @param {*} key
+ * @returns {void}
+ */
+ class_1.prototype.delete = function (key) {
+ var entries = this.__entries__;
+ var index = getIndex(entries, key);
+ if (~index) {
+ entries.splice(index, 1);
+ }
+ };
+ /**
+ * @param {*} key
+ * @returns {void}
+ */
+ class_1.prototype.has = function (key) {
+ return !!~getIndex(this.__entries__, key);
+ };
+ /**
+ * @returns {void}
+ */
+ class_1.prototype.clear = function () {
+ this.__entries__.splice(0);
+ };
+ /**
+ * @param {Function} callback
+ * @param {*} [ctx=null]
+ * @returns {void}
+ */
+ class_1.prototype.forEach = function (callback, ctx) {
+ if (ctx === void 0) { ctx = null; }
+ for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {
+ var entry = _a[_i];
+ callback.call(ctx, entry[1], entry[0]);
+ }
+ };
+ return class_1;
+ }());
+ })();
+
+ /**
+ * Detects whether window and document objects are available in current environment.
+ */
+ var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;
+
+ // Returns global object of a current environment.
+ var global$1 = (function () {
+ if (typeof global !== 'undefined' && global.Math === Math) {
+ return global;
+ }
+ if (typeof self !== 'undefined' && self.Math === Math) {
+ return self;
+ }
+ if (typeof window !== 'undefined' && window.Math === Math) {
+ return window;
+ }
+ // eslint-disable-next-line no-new-func
+ return Function('return this')();
+ })();
+
+ /**
+ * A shim for the requestAnimationFrame which falls back to the setTimeout if
+ * first one is not supported.
+ *
+ * @returns {number} Requests' identifier.
+ */
+ var requestAnimationFrame$1 = (function () {
+ if (typeof requestAnimationFrame === 'function') {
+ // It's required to use a bounded function because IE sometimes throws
+ // an "Invalid calling object" error if rAF is invoked without the global
+ // object on the left hand side.
+ return requestAnimationFrame.bind(global$1);
+ }
+ return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };
+ })();
+
+ // Defines minimum timeout before adding a trailing call.
+ var trailingTimeout = 2;
+ /**
+ * Creates a wrapper function which ensures that provided callback will be
+ * invoked only once during the specified delay period.
+ *
+ * @param {Function} callback - Function to be invoked after the delay period.
+ * @param {number} delay - Delay after which to invoke callback.
+ * @returns {Function}
+ */
+ function throttle (callback, delay) {
+ var leadingCall = false, trailingCall = false, lastCallTime = 0;
+ /**
+ * Invokes the original callback function and schedules new invocation if
+ * the "proxy" was called during current request.
+ *
+ * @returns {void}
+ */
+ function resolvePending() {
+ if (leadingCall) {
+ leadingCall = false;
+ callback();
+ }
+ if (trailingCall) {
+ proxy();
+ }
+ }
+ /**
+ * Callback invoked after the specified delay. It will further postpone
+ * invocation of the original function delegating it to the
+ * requestAnimationFrame.
+ *
+ * @returns {void}
+ */
+ function timeoutCallback() {
+ requestAnimationFrame$1(resolvePending);
+ }
+ /**
+ * Schedules invocation of the original function.
+ *
+ * @returns {void}
+ */
+ function proxy() {
+ var timeStamp = Date.now();
+ if (leadingCall) {
+ // Reject immediately following calls.
+ if (timeStamp - lastCallTime < trailingTimeout) {
+ return;
+ }
+ // Schedule new call to be in invoked when the pending one is resolved.
+ // This is important for "transitions" which never actually start
+ // immediately so there is a chance that we might miss one if change
+ // happens amids the pending invocation.
+ trailingCall = true;
+ }
+ else {
+ leadingCall = true;
+ trailingCall = false;
+ setTimeout(timeoutCallback, delay);
+ }
+ lastCallTime = timeStamp;
+ }
+ return proxy;
+ }
+
+ // Minimum delay before invoking the update of observers.
+ var REFRESH_DELAY = 20;
+ // A list of substrings of CSS properties used to find transition events that
+ // might affect dimensions of observed elements.
+ var transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];
+ // Check if MutationObserver is available.
+ var mutationObserverSupported = typeof MutationObserver !== 'undefined';
+ /**
+ * Singleton controller class which handles updates of ResizeObserver instances.
+ */
+ var ResizeObserverController = /** @class */ (function () {
+ /**
+ * Creates a new instance of ResizeObserverController.
+ *
+ * @private
+ */
+ function ResizeObserverController() {
+ /**
+ * Indicates whether DOM listeners have been added.
+ *
+ * @private {boolean}
+ */
+ this.connected_ = false;
+ /**
+ * Tells that controller has subscribed for Mutation Events.
+ *
+ * @private {boolean}
+ */
+ this.mutationEventsAdded_ = false;
+ /**
+ * Keeps reference to the instance of MutationObserver.
+ *
+ * @private {MutationObserver}
+ */
+ this.mutationsObserver_ = null;
+ /**
+ * A list of connected observers.
+ *
+ * @private {Array}
+ */
+ this.observers_ = [];
+ this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);
+ this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);
+ }
+ /**
+ * Adds observer to observers list.
+ *
+ * @param {ResizeObserverSPI} observer - Observer to be added.
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.addObserver = function (observer) {
+ if (!~this.observers_.indexOf(observer)) {
+ this.observers_.push(observer);
+ }
+ // Add listeners if they haven't been added yet.
+ if (!this.connected_) {
+ this.connect_();
+ }
+ };
+ /**
+ * Removes observer from observers list.
+ *
+ * @param {ResizeObserverSPI} observer - Observer to be removed.
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.removeObserver = function (observer) {
+ var observers = this.observers_;
+ var index = observers.indexOf(observer);
+ // Remove observer if it's present in registry.
+ if (~index) {
+ observers.splice(index, 1);
+ }
+ // Remove listeners if controller has no connected observers.
+ if (!observers.length && this.connected_) {
+ this.disconnect_();
+ }
+ };
+ /**
+ * Invokes the update of observers. It will continue running updates insofar
+ * it detects changes.
+ *
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.refresh = function () {
+ var changesDetected = this.updateObservers_();
+ // Continue running updates if changes have been detected as there might
+ // be future ones caused by CSS transitions.
+ if (changesDetected) {
+ this.refresh();
+ }
+ };
+ /**
+ * Updates every observer from observers list and notifies them of queued
+ * entries.
+ *
+ * @private
+ * @returns {boolean} Returns "true" if any observer has detected changes in
+ * dimensions of it's elements.
+ */
+ ResizeObserverController.prototype.updateObservers_ = function () {
+ // Collect observers that have active observations.
+ var activeObservers = this.observers_.filter(function (observer) {
+ return observer.gatherActive(), observer.hasActive();
+ });
+ // Deliver notifications in a separate cycle in order to avoid any
+ // collisions between observers, e.g. when multiple instances of
+ // ResizeObserver are tracking the same element and the callback of one
+ // of them changes content dimensions of the observed target. Sometimes
+ // this may result in notifications being blocked for the rest of observers.
+ activeObservers.forEach(function (observer) { return observer.broadcastActive(); });
+ return activeObservers.length > 0;
+ };
+ /**
+ * Initializes DOM listeners.
+ *
+ * @private
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.connect_ = function () {
+ // Do nothing if running in a non-browser environment or if listeners
+ // have been already added.
+ if (!isBrowser || this.connected_) {
+ return;
+ }
+ // Subscription to the "Transitionend" event is used as a workaround for
+ // delayed transitions. This way it's possible to capture at least the
+ // final state of an element.
+ document.addEventListener('transitionend', this.onTransitionEnd_);
+ window.addEventListener('resize', this.refresh);
+ if (mutationObserverSupported) {
+ this.mutationsObserver_ = new MutationObserver(this.refresh);
+ this.mutationsObserver_.observe(document, {
+ attributes: true,
+ childList: true,
+ characterData: true,
+ subtree: true
+ });
+ }
+ else {
+ document.addEventListener('DOMSubtreeModified', this.refresh);
+ this.mutationEventsAdded_ = true;
+ }
+ this.connected_ = true;
+ };
+ /**
+ * Removes DOM listeners.
+ *
+ * @private
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.disconnect_ = function () {
+ // Do nothing if running in a non-browser environment or if listeners
+ // have been already removed.
+ if (!isBrowser || !this.connected_) {
+ return;
+ }
+ document.removeEventListener('transitionend', this.onTransitionEnd_);
+ window.removeEventListener('resize', this.refresh);
+ if (this.mutationsObserver_) {
+ this.mutationsObserver_.disconnect();
+ }
+ if (this.mutationEventsAdded_) {
+ document.removeEventListener('DOMSubtreeModified', this.refresh);
+ }
+ this.mutationsObserver_ = null;
+ this.mutationEventsAdded_ = false;
+ this.connected_ = false;
+ };
+ /**
+ * "Transitionend" event handler.
+ *
+ * @private
+ * @param {TransitionEvent} event
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {
+ var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;
+ // Detect whether transition may affect dimensions of an element.
+ var isReflowProperty = transitionKeys.some(function (key) {
+ return !!~propertyName.indexOf(key);
+ });
+ if (isReflowProperty) {
+ this.refresh();
+ }
+ };
+ /**
+ * Returns instance of the ResizeObserverController.
+ *
+ * @returns {ResizeObserverController}
+ */
+ ResizeObserverController.getInstance = function () {
+ if (!this.instance_) {
+ this.instance_ = new ResizeObserverController();
+ }
+ return this.instance_;
+ };
+ /**
+ * Holds reference to the controller's instance.
+ *
+ * @private {ResizeObserverController}
+ */
+ ResizeObserverController.instance_ = null;
+ return ResizeObserverController;
+ }());
+
+ /**
+ * Defines non-writable/enumerable properties of the provided target object.
+ *
+ * @param {Object} target - Object for which to define properties.
+ * @param {Object} props - Properties to be defined.
+ * @returns {Object} Target object.
+ */
+ var defineConfigurable = (function (target, props) {
+ for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {
+ var key = _a[_i];
+ Object.defineProperty(target, key, {
+ value: props[key],
+ enumerable: false,
+ writable: false,
+ configurable: true
+ });
+ }
+ return target;
+ });
+
+ /**
+ * Returns the global object associated with provided element.
+ *
+ * @param {Object} target
+ * @returns {Object}
+ */
+ var getWindowOf = (function (target) {
+ // Assume that the element is an instance of Node, which means that it
+ // has the "ownerDocument" property from which we can retrieve a
+ // corresponding global object.
+ var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;
+ // Return the local global object if it's not possible extract one from
+ // provided element.
+ return ownerGlobal || global$1;
+ });
+
+ // Placeholder of an empty content rectangle.
+ var emptyRect = createRectInit(0, 0, 0, 0);
+ /**
+ * Converts provided string to a number.
+ *
+ * @param {number|string} value
+ * @returns {number}
+ */
+ function toFloat(value) {
+ return parseFloat(value) || 0;
+ }
+ /**
+ * Extracts borders size from provided styles.
+ *
+ * @param {CSSStyleDeclaration} styles
+ * @param {...string} positions - Borders positions (top, right, ...)
+ * @returns {number}
+ */
+ function getBordersSize(styles) {
+ var positions = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ positions[_i - 1] = arguments[_i];
+ }
+ return positions.reduce(function (size, position) {
+ var value = styles['border-' + position + '-width'];
+ return size + toFloat(value);
+ }, 0);
+ }
+ /**
+ * Extracts paddings sizes from provided styles.
+ *
+ * @param {CSSStyleDeclaration} styles
+ * @returns {Object} Paddings box.
+ */
+ function getPaddings(styles) {
+ var positions = ['top', 'right', 'bottom', 'left'];
+ var paddings = {};
+ for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {
+ var position = positions_1[_i];
+ var value = styles['padding-' + position];
+ paddings[position] = toFloat(value);
+ }
+ return paddings;
+ }
+ /**
+ * Calculates content rectangle of provided SVG element.
+ *
+ * @param {SVGGraphicsElement} target - Element content rectangle of which needs
+ * to be calculated.
+ * @returns {DOMRectInit}
+ */
+ function getSVGContentRect(target) {
+ var bbox = target.getBBox();
+ return createRectInit(0, 0, bbox.width, bbox.height);
+ }
+ /**
+ * Calculates content rectangle of provided HTMLElement.
+ *
+ * @param {HTMLElement} target - Element for which to calculate the content rectangle.
+ * @returns {DOMRectInit}
+ */
+ function getHTMLElementContentRect(target) {
+ // Client width & height properties can't be
+ // used exclusively as they provide rounded values.
+ var clientWidth = target.clientWidth, clientHeight = target.clientHeight;
+ // By this condition we can catch all non-replaced inline, hidden and
+ // detached elements. Though elements with width & height properties less
+ // than 0.5 will be discarded as well.
+ //
+ // Without it we would need to implement separate methods for each of
+ // those cases and it's not possible to perform a precise and performance
+ // effective test for hidden elements. E.g. even jQuery's ':visible' filter
+ // gives wrong results for elements with width & height less than 0.5.
+ if (!clientWidth && !clientHeight) {
+ return emptyRect;
+ }
+ var styles = getWindowOf(target).getComputedStyle(target);
+ var paddings = getPaddings(styles);
+ var horizPad = paddings.left + paddings.right;
+ var vertPad = paddings.top + paddings.bottom;
+ // Computed styles of width & height are being used because they are the
+ // only dimensions available to JS that contain non-rounded values. It could
+ // be possible to utilize the getBoundingClientRect if only it's data wasn't
+ // affected by CSS transformations let alone paddings, borders and scroll bars.
+ var width = toFloat(styles.width), height = toFloat(styles.height);
+ // Width & height include paddings and borders when the 'border-box' box
+ // model is applied (except for IE).
+ if (styles.boxSizing === 'border-box') {
+ // Following conditions are required to handle Internet Explorer which
+ // doesn't include paddings and borders to computed CSS dimensions.
+ //
+ // We can say that if CSS dimensions + paddings are equal to the "client"
+ // properties then it's either IE, and thus we don't need to subtract
+ // anything, or an element merely doesn't have paddings/borders styles.
+ if (Math.round(width + horizPad) !== clientWidth) {
+ width -= getBordersSize(styles, 'left', 'right') + horizPad;
+ }
+ if (Math.round(height + vertPad) !== clientHeight) {
+ height -= getBordersSize(styles, 'top', 'bottom') + vertPad;
+ }
+ }
+ // Following steps can't be applied to the document's root element as its
+ // client[Width/Height] properties represent viewport area of the window.
+ // Besides, it's as well not necessary as the itself neither has
+ // rendered scroll bars nor it can be clipped.
+ if (!isDocumentElement(target)) {
+ // In some browsers (only in Firefox, actually) CSS width & height
+ // include scroll bars size which can be removed at this step as scroll
+ // bars are the only difference between rounded dimensions + paddings
+ // and "client" properties, though that is not always true in Chrome.
+ var vertScrollbar = Math.round(width + horizPad) - clientWidth;
+ var horizScrollbar = Math.round(height + vertPad) - clientHeight;
+ // Chrome has a rather weird rounding of "client" properties.
+ // E.g. for an element with content width of 314.2px it sometimes gives
+ // the client width of 315px and for the width of 314.7px it may give
+ // 314px. And it doesn't happen all the time. So just ignore this delta
+ // as a non-relevant.
+ if (Math.abs(vertScrollbar) !== 1) {
+ width -= vertScrollbar;
+ }
+ if (Math.abs(horizScrollbar) !== 1) {
+ height -= horizScrollbar;
+ }
+ }
+ return createRectInit(paddings.left, paddings.top, width, height);
+ }
+ /**
+ * Checks whether provided element is an instance of the SVGGraphicsElement.
+ *
+ * @param {Element} target - Element to be checked.
+ * @returns {boolean}
+ */
+ var isSVGGraphicsElement = (function () {
+ // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement
+ // interface.
+ if (typeof SVGGraphicsElement !== 'undefined') {
+ return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };
+ }
+ // If it's so, then check that element is at least an instance of the
+ // SVGElement and that it has the "getBBox" method.
+ // eslint-disable-next-line no-extra-parens
+ return function (target) { return (target instanceof getWindowOf(target).SVGElement &&
+ typeof target.getBBox === 'function'); };
+ })();
+ /**
+ * Checks whether provided element is a document element ().
+ *
+ * @param {Element} target - Element to be checked.
+ * @returns {boolean}
+ */
+ function isDocumentElement(target) {
+ return target === getWindowOf(target).document.documentElement;
+ }
+ /**
+ * Calculates an appropriate content rectangle for provided html or svg element.
+ *
+ * @param {Element} target - Element content rectangle of which needs to be calculated.
+ * @returns {DOMRectInit}
+ */
+ function getContentRect(target) {
+ if (!isBrowser) {
+ return emptyRect;
+ }
+ if (isSVGGraphicsElement(target)) {
+ return getSVGContentRect(target);
+ }
+ return getHTMLElementContentRect(target);
+ }
+ /**
+ * Creates rectangle with an interface of the DOMRectReadOnly.
+ * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly
+ *
+ * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.
+ * @returns {DOMRectReadOnly}
+ */
+ function createReadOnlyRect(_a) {
+ var x = _a.x, y = _a.y, width = _a.width, height = _a.height;
+ // If DOMRectReadOnly is available use it as a prototype for the rectangle.
+ var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;
+ var rect = Object.create(Constr.prototype);
+ // Rectangle's properties are not writable and non-enumerable.
+ defineConfigurable(rect, {
+ x: x, y: y, width: width, height: height,
+ top: y,
+ right: x + width,
+ bottom: height + y,
+ left: x
+ });
+ return rect;
+ }
+ /**
+ * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.
+ * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit
+ *
+ * @param {number} x - X coordinate.
+ * @param {number} y - Y coordinate.
+ * @param {number} width - Rectangle's width.
+ * @param {number} height - Rectangle's height.
+ * @returns {DOMRectInit}
+ */
+ function createRectInit(x, y, width, height) {
+ return { x: x, y: y, width: width, height: height };
+ }
+
+ /**
+ * Class that is responsible for computations of the content rectangle of
+ * provided DOM element and for keeping track of it's changes.
+ */
+ var ResizeObservation = /** @class */ (function () {
+ /**
+ * Creates an instance of ResizeObservation.
+ *
+ * @param {Element} target - Element to be observed.
+ */
+ function ResizeObservation(target) {
+ /**
+ * Broadcasted width of content rectangle.
+ *
+ * @type {number}
+ */
+ this.broadcastWidth = 0;
+ /**
+ * Broadcasted height of content rectangle.
+ *
+ * @type {number}
+ */
+ this.broadcastHeight = 0;
+ /**
+ * Reference to the last observed content rectangle.
+ *
+ * @private {DOMRectInit}
+ */
+ this.contentRect_ = createRectInit(0, 0, 0, 0);
+ this.target = target;
+ }
+ /**
+ * Updates content rectangle and tells whether it's width or height properties
+ * have changed since the last broadcast.
+ *
+ * @returns {boolean}
+ */
+ ResizeObservation.prototype.isActive = function () {
+ var rect = getContentRect(this.target);
+ this.contentRect_ = rect;
+ return (rect.width !== this.broadcastWidth ||
+ rect.height !== this.broadcastHeight);
+ };
+ /**
+ * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data
+ * from the corresponding properties of the last observed content rectangle.
+ *
+ * @returns {DOMRectInit} Last observed content rectangle.
+ */
+ ResizeObservation.prototype.broadcastRect = function () {
+ var rect = this.contentRect_;
+ this.broadcastWidth = rect.width;
+ this.broadcastHeight = rect.height;
+ return rect;
+ };
+ return ResizeObservation;
+ }());
+
+ var ResizeObserverEntry = /** @class */ (function () {
+ /**
+ * Creates an instance of ResizeObserverEntry.
+ *
+ * @param {Element} target - Element that is being observed.
+ * @param {DOMRectInit} rectInit - Data of the element's content rectangle.
+ */
+ function ResizeObserverEntry(target, rectInit) {
+ var contentRect = createReadOnlyRect(rectInit);
+ // According to the specification following properties are not writable
+ // and are also not enumerable in the native implementation.
+ //
+ // Property accessors are not being used as they'd require to define a
+ // private WeakMap storage which may cause memory leaks in browsers that
+ // don't support this type of collections.
+ defineConfigurable(this, { target: target, contentRect: contentRect });
+ }
+ return ResizeObserverEntry;
+ }());
+
+ var ResizeObserverSPI = /** @class */ (function () {
+ /**
+ * Creates a new instance of ResizeObserver.
+ *
+ * @param {ResizeObserverCallback} callback - Callback function that is invoked
+ * when one of the observed elements changes it's content dimensions.
+ * @param {ResizeObserverController} controller - Controller instance which
+ * is responsible for the updates of observer.
+ * @param {ResizeObserver} callbackCtx - Reference to the public
+ * ResizeObserver instance which will be passed to callback function.
+ */
+ function ResizeObserverSPI(callback, controller, callbackCtx) {
+ /**
+ * Collection of resize observations that have detected changes in dimensions
+ * of elements.
+ *
+ * @private {Array}
+ */
+ this.activeObservations_ = [];
+ /**
+ * Registry of the ResizeObservation instances.
+ *
+ * @private {Map}
+ */
+ this.observations_ = new MapShim();
+ if (typeof callback !== 'function') {
+ throw new TypeError('The callback provided as parameter 1 is not a function.');
+ }
+ this.callback_ = callback;
+ this.controller_ = controller;
+ this.callbackCtx_ = callbackCtx;
+ }
+ /**
+ * Starts observing provided element.
+ *
+ * @param {Element} target - Element to be observed.
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.observe = function (target) {
+ if (!arguments.length) {
+ throw new TypeError('1 argument required, but only 0 present.');
+ }
+ // Do nothing if current environment doesn't have the Element interface.
+ if (typeof Element === 'undefined' || !(Element instanceof Object)) {
+ return;
+ }
+ if (!(target instanceof getWindowOf(target).Element)) {
+ throw new TypeError('parameter 1 is not of type "Element".');
+ }
+ var observations = this.observations_;
+ // Do nothing if element is already being observed.
+ if (observations.has(target)) {
+ return;
+ }
+ observations.set(target, new ResizeObservation(target));
+ this.controller_.addObserver(this);
+ // Force the update of observations.
+ this.controller_.refresh();
+ };
+ /**
+ * Stops observing provided element.
+ *
+ * @param {Element} target - Element to stop observing.
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.unobserve = function (target) {
+ if (!arguments.length) {
+ throw new TypeError('1 argument required, but only 0 present.');
+ }
+ // Do nothing if current environment doesn't have the Element interface.
+ if (typeof Element === 'undefined' || !(Element instanceof Object)) {
+ return;
+ }
+ if (!(target instanceof getWindowOf(target).Element)) {
+ throw new TypeError('parameter 1 is not of type "Element".');
+ }
+ var observations = this.observations_;
+ // Do nothing if element is not being observed.
+ if (!observations.has(target)) {
+ return;
+ }
+ observations.delete(target);
+ if (!observations.size) {
+ this.controller_.removeObserver(this);
+ }
+ };
+ /**
+ * Stops observing all elements.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.disconnect = function () {
+ this.clearActive();
+ this.observations_.clear();
+ this.controller_.removeObserver(this);
+ };
+ /**
+ * Collects observation instances the associated element of which has changed
+ * it's content rectangle.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.gatherActive = function () {
+ var _this = this;
+ this.clearActive();
+ this.observations_.forEach(function (observation) {
+ if (observation.isActive()) {
+ _this.activeObservations_.push(observation);
+ }
+ });
+ };
+ /**
+ * Invokes initial callback function with a list of ResizeObserverEntry
+ * instances collected from active resize observations.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.broadcastActive = function () {
+ // Do nothing if observer doesn't have active observations.
+ if (!this.hasActive()) {
+ return;
+ }
+ var ctx = this.callbackCtx_;
+ // Create ResizeObserverEntry instance for every active observation.
+ var entries = this.activeObservations_.map(function (observation) {
+ return new ResizeObserverEntry(observation.target, observation.broadcastRect());
+ });
+ this.callback_.call(ctx, entries, ctx);
+ this.clearActive();
+ };
+ /**
+ * Clears the collection of active observations.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.clearActive = function () {
+ this.activeObservations_.splice(0);
+ };
+ /**
+ * Tells whether observer has active observations.
+ *
+ * @returns {boolean}
+ */
+ ResizeObserverSPI.prototype.hasActive = function () {
+ return this.activeObservations_.length > 0;
+ };
+ return ResizeObserverSPI;
+ }());
+
+ // Registry of internal observers. If WeakMap is not available use current shim
+ // for the Map collection as it has all required methods and because WeakMap
+ // can't be fully polyfilled anyway.
+ var observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();
+ /**
+ * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation
+ * exposing only those methods and properties that are defined in the spec.
+ */
+ var ResizeObserver = /** @class */ (function () {
+ /**
+ * Creates a new instance of ResizeObserver.
+ *
+ * @param {ResizeObserverCallback} callback - Callback that is invoked when
+ * dimensions of the observed elements change.
+ */
+ function ResizeObserver(callback) {
+ if (!(this instanceof ResizeObserver)) {
+ throw new TypeError('Cannot call a class as a function.');
+ }
+ if (!arguments.length) {
+ throw new TypeError('1 argument required, but only 0 present.');
+ }
+ var controller = ResizeObserverController.getInstance();
+ var observer = new ResizeObserverSPI(callback, controller, this);
+ observers.set(this, observer);
+ }
+ return ResizeObserver;
+ }());
+ // Expose public methods of ResizeObserver.
+ [
+ 'observe',
+ 'unobserve',
+ 'disconnect'
+ ].forEach(function (method) {
+ ResizeObserver.prototype[method] = function () {
+ var _a;
+ return (_a = observers.get(this))[method].apply(_a, arguments);
+ };
+ });
+
+ var index = (function () {
+ // Export existing implementation if available.
+ if (typeof global$1.ResizeObserver !== 'undefined') {
+ return global$1.ResizeObserver;
+ }
+ return ResizeObserver;
+ })();
+
+ /* harmony default export */ __webpack_exports__["default"] = (index);
+
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(35)))
+
+ /***/ }),
+ /* 96 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty__ = __webpack_require__(86);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass__ = __webpack_require__(55);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_unsafeLifecyclesPolyfill__ = __webpack_require__(90);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__ = __webpack_require__(801);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__AnimateChild__ = __webpack_require__(802);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__util_animate__ = __webpack_require__(262);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var defaultKey = 'rc_animate_' + Date.now();
+
+ function getChildrenFromProps(props) {
+ var children = props.children;
+ if (__WEBPACK_IMPORTED_MODULE_6_react___default.a.isValidElement(children)) {
+ if (!children.key) {
+ return __WEBPACK_IMPORTED_MODULE_6_react___default.a.cloneElement(children, {
+ key: defaultKey
+ });
+ }
+ }
+ return children;
+ }
+
+ function noop() {}
+
+ var Animate = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default()(Animate, _React$Component);
+
+ // eslint-disable-line
+
+ function Animate(props) {
+ __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, Animate);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));
+
+ _initialiseProps.call(_this);
+
+ _this.currentlyAnimatingKeys = {};
+ _this.keysToEnter = [];
+ _this.keysToLeave = [];
+
+ _this.state = {
+ children: Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props))
+ };
+
+ _this.childrenRefs = {};
+ return _this;
+ }
+
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass___default()(Animate, [{
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ var showProp = this.props.showProp;
+ var children = this.state.children;
+ if (showProp) {
+ children = children.filter(function (child) {
+ return !!child.props[showProp];
+ });
+ }
+ children.forEach(function (child) {
+ if (child) {
+ _this2.performAppear(child.key);
+ }
+ });
+ }
+ }, {
+ key: 'componentWillReceiveProps',
+ value: function componentWillReceiveProps(nextProps) {
+ var _this3 = this;
+
+ this.nextProps = nextProps;
+ var nextChildren = Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(nextProps));
+ var props = this.props;
+ // exclusive needs immediate response
+ if (props.exclusive) {
+ Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
+ _this3.stop(key);
+ });
+ }
+ var showProp = props.showProp;
+ var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
+ // last props children if exclusive
+ var currentChildren = props.exclusive ? Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props)) : this.state.children;
+ // in case destroy in showProp mode
+ var newChildren = [];
+ if (showProp) {
+ currentChildren.forEach(function (currentChild) {
+ var nextChild = currentChild && Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["a" /* findChildInChildrenByKey */])(nextChildren, currentChild.key);
+ var newChild = void 0;
+ if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
+ newChild = __WEBPACK_IMPORTED_MODULE_6_react___default.a.cloneElement(nextChild || currentChild, __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty___default()({}, showProp, true));
+ } else {
+ newChild = nextChild;
+ }
+ if (newChild) {
+ newChildren.push(newChild);
+ }
+ });
+ nextChildren.forEach(function (nextChild) {
+ if (!nextChild || !Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["a" /* findChildInChildrenByKey */])(currentChildren, nextChild.key)) {
+ newChildren.push(nextChild);
+ }
+ });
+ } else {
+ newChildren = Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["d" /* mergeChildren */])(currentChildren, nextChildren);
+ }
+
+ // need render to avoid update
+ this.setState({
+ children: newChildren
+ });
+
+ nextChildren.forEach(function (child) {
+ var key = child && child.key;
+ if (child && currentlyAnimatingKeys[key]) {
+ return;
+ }
+ var hasPrev = child && Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["a" /* findChildInChildrenByKey */])(currentChildren, key);
+ if (showProp) {
+ var showInNext = child.props[showProp];
+ if (hasPrev) {
+ var showInNow = Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["b" /* findShownChildInChildrenByKey */])(currentChildren, key, showProp);
+ if (!showInNow && showInNext) {
+ _this3.keysToEnter.push(key);
+ }
+ } else if (showInNext) {
+ _this3.keysToEnter.push(key);
+ }
+ } else if (!hasPrev) {
+ _this3.keysToEnter.push(key);
+ }
+ });
+
+ currentChildren.forEach(function (child) {
+ var key = child && child.key;
+ if (child && currentlyAnimatingKeys[key]) {
+ return;
+ }
+ var hasNext = child && Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["a" /* findChildInChildrenByKey */])(nextChildren, key);
+ if (showProp) {
+ var showInNow = child.props[showProp];
+ if (hasNext) {
+ var showInNext = Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["b" /* findShownChildInChildrenByKey */])(nextChildren, key, showProp);
+ if (!showInNext && showInNow) {
+ _this3.keysToLeave.push(key);
+ }
+ } else if (showInNow) {
+ _this3.keysToLeave.push(key);
+ }
+ } else if (!hasNext) {
+ _this3.keysToLeave.push(key);
+ }
+ });
+ }
+ }, {
+ key: 'componentDidUpdate',
+ value: function componentDidUpdate() {
+ var keysToEnter = this.keysToEnter;
+ this.keysToEnter = [];
+ keysToEnter.forEach(this.performEnter);
+ var keysToLeave = this.keysToLeave;
+ this.keysToLeave = [];
+ keysToLeave.forEach(this.performLeave);
+ }
+ }, {
+ key: 'isValidChildByKey',
+ value: function isValidChildByKey(currentChildren, key) {
+ var showProp = this.props.showProp;
+ if (showProp) {
+ return Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["b" /* findShownChildInChildrenByKey */])(currentChildren, key, showProp);
+ }
+ return Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["a" /* findChildInChildrenByKey */])(currentChildren, key);
+ }
+ }, {
+ key: 'stop',
+ value: function stop(key) {
+ delete this.currentlyAnimatingKeys[key];
+ var component = this.childrenRefs[key];
+ if (component) {
+ component.stop();
+ }
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var _this4 = this;
+
+ var props = this.props;
+ this.nextProps = props;
+ var stateChildren = this.state.children;
+ var children = null;
+ if (stateChildren) {
+ children = stateChildren.map(function (child) {
+ if (child === null || child === undefined) {
+ return child;
+ }
+ if (!child.key) {
+ throw new Error('must set key for children');
+ }
+ return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_10__AnimateChild__["a" /* default */],
+ {
+ key: child.key,
+ ref: function ref(node) {
+ _this4.childrenRefs[child.key] = node;
+ },
+ animation: props.animation,
+ transitionName: props.transitionName,
+ transitionEnter: props.transitionEnter,
+ transitionAppear: props.transitionAppear,
+ transitionLeave: props.transitionLeave
+ },
+ child
+ );
+ });
+ }
+ var Component = props.component;
+ if (Component) {
+ var passedProps = props;
+ if (typeof Component === 'string') {
+ passedProps = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({
+ className: props.className,
+ style: props.style
+ }, props.componentProps);
+ }
+ return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+ Component,
+ passedProps,
+ children
+ );
+ }
+ return children[0] || null;
+ }
+ }]);
+
+ return Animate;
+ }(__WEBPACK_IMPORTED_MODULE_6_react___default.a.Component);
+
+ Animate.isAnimate = true;
+ Animate.propTypes = {
+ className: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,
+ style: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object,
+ component: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.any,
+ componentProps: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object,
+ animation: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object,
+ transitionName: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object]),
+ transitionEnter: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ transitionAppear: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ exclusive: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ transitionLeave: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ onEnd: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onEnter: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onLeave: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onAppear: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ showProp: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,
+ children: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.node
+ };
+ Animate.defaultProps = {
+ animation: {},
+ component: 'span',
+ componentProps: {},
+ transitionEnter: true,
+ transitionLeave: true,
+ transitionAppear: false,
+ onEnd: noop,
+ onEnter: noop,
+ onLeave: noop,
+ onAppear: noop
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this5 = this;
+
+ this.performEnter = function (key) {
+ // may already remove by exclusive
+ if (_this5.childrenRefs[key]) {
+ _this5.currentlyAnimatingKeys[key] = true;
+ _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));
+ }
+ };
+
+ this.performAppear = function (key) {
+ if (_this5.childrenRefs[key]) {
+ _this5.currentlyAnimatingKeys[key] = true;
+ _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));
+ }
+ };
+
+ this.handleDoneAdding = function (key, type) {
+ var props = _this5.props;
+ delete _this5.currentlyAnimatingKeys[key];
+ // if update on exclusive mode, skip check
+ if (props.exclusive && props !== _this5.nextProps) {
+ return;
+ }
+ var currentChildren = Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props));
+ if (!_this5.isValidChildByKey(currentChildren, key)) {
+ // exclusive will not need this
+ _this5.performLeave(key);
+ } else if (type === 'appear') {
+ if (__WEBPACK_IMPORTED_MODULE_11__util_animate__["a" /* default */].allowAppearCallback(props)) {
+ props.onAppear(key);
+ props.onEnd(key, true);
+ }
+ } else if (__WEBPACK_IMPORTED_MODULE_11__util_animate__["a" /* default */].allowEnterCallback(props)) {
+ props.onEnter(key);
+ props.onEnd(key, true);
+ }
+ };
+
+ this.performLeave = function (key) {
+ // may already remove by exclusive
+ if (_this5.childrenRefs[key]) {
+ _this5.currentlyAnimatingKeys[key] = true;
+ _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));
+ }
+ };
+
+ this.handleDoneLeaving = function (key) {
+ var props = _this5.props;
+ delete _this5.currentlyAnimatingKeys[key];
+ // if update on exclusive mode, skip check
+ if (props.exclusive && props !== _this5.nextProps) {
+ return;
+ }
+ var currentChildren = Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props));
+ // in case state change is too fast
+ if (_this5.isValidChildByKey(currentChildren, key)) {
+ _this5.performEnter(key);
+ } else {
+ var end = function end() {
+ if (__WEBPACK_IMPORTED_MODULE_11__util_animate__["a" /* default */].allowLeaveCallback(props)) {
+ props.onLeave(key);
+ props.onEnd(key, false);
+ }
+ };
+ if (!Object(__WEBPACK_IMPORTED_MODULE_9__ChildrenUtils__["c" /* isSameChildren */])(_this5.state.children, currentChildren, props.showProp)) {
+ _this5.setState({
+ children: currentChildren
+ }, end);
+ } else {
+ end();
+ }
+ }
+ };
+ };
+
+ /* harmony default export */ __webpack_exports__["default"] = (Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_unsafeLifecyclesPolyfill__["a" /* default */])(Animate));
+
+ /***/ }),
+ /* 97 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (componentOrElement) {
+ return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
+ };
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 98 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(861);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(862);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(863);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(864);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(865);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(866);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(867);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(868);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(869);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(274);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(870);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(872);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(873);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 99 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var vendors = ['', 'webkit', 'moz', 'o', 'ms'];
+ var cancel = 'clearTimeout';
+ var raf = fallback;
+ var compatRaf = void 0;
+
+ var getKey = function getKey(vendor, k) {
+ return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';
+ };
+
+ if (_inDOM2.default) {
+ vendors.some(function (vendor) {
+ var rafKey = getKey(vendor, 'request');
+
+ if (rafKey in window) {
+ cancel = getKey(vendor, 'cancel');
+ return raf = function raf(cb) {
+ return window[rafKey](cb);
+ };
+ }
+ });
+ }
+
+ /* https://github.com/component/raf */
+ var prev = new Date().getTime();
+
+ function fallback(fn) {
+ var curr = new Date().getTime(),
+ ms = Math.max(0, 16 - (curr - prev)),
+ req = setTimeout(fn, ms);
+
+ prev = curr;
+ return req;
+ }
+
+ compatRaf = function compatRaf(cb) {
+ return raf(cb);
+ };
+ compatRaf.cancel = function (id) {
+ return window[cancel](id);
+ };
+
+ exports.default = compatRaf;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 100 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = getWindow;
+ function getWindow(node) {
+ return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;
+ }
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 101 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports.default = position;
+
+ var _offset = __webpack_require__(74);
+
+ var _offset2 = _interopRequireDefault(_offset);
+
+ var _offsetParent = __webpack_require__(878);
+
+ var _offsetParent2 = _interopRequireDefault(_offsetParent);
+
+ var _scrollTop = __webpack_require__(45);
+
+ var _scrollTop2 = _interopRequireDefault(_scrollTop);
+
+ var _scrollLeft = __webpack_require__(885);
+
+ var _scrollLeft2 = _interopRequireDefault(_scrollLeft);
+
+ var _style = __webpack_require__(31);
+
+ var _style2 = _interopRequireDefault(_style);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function nodeName(node) {
+ return node.nodeName && node.nodeName.toLowerCase();
+ }
+
+ function position(node, offsetParent) {
+ var parentOffset = { top: 0, left: 0 },
+ offset;
+
+ // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
+ // because it is its only offset parent
+ if ((0, _style2.default)(node, 'position') === 'fixed') {
+ offset = node.getBoundingClientRect();
+ } else {
+ offsetParent = offsetParent || (0, _offsetParent2.default)(node);
+ offset = (0, _offset2.default)(node);
+
+ if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2.default)(offsetParent);
+
+ parentOffset.top += parseInt((0, _style2.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2.default)(offsetParent) || 0;
+ parentOffset.left += parseInt((0, _style2.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2.default)(offsetParent) || 0;
+ }
+
+ // Subtract parent offsets and node margins
+ return _extends({}, offset, {
+ top: offset.top - parentOffset.top - (parseInt((0, _style2.default)(node, 'marginTop'), 10) || 0),
+ left: offset.left - parentOffset.left - (parseInt((0, _style2.default)(node, 'marginLeft'), 10) || 0)
+ });
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 102 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = ownerWindow;
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function ownerWindow(node) {
+ var doc = (0, _ownerDocument2.default)(node);
+ return doc && doc.defaultView || doc.parentWindow;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 103 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1012);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1013);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1014);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1015);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1016);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1017);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(294);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1018);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1019);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(295);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1020);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1022);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1023);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 104 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports.default = function (recalc) {
+ if (!size || recalc) {
+ if (_inDOM2.default) {
+ var scrollDiv = document.createElement('div');
+
+ scrollDiv.style.position = 'absolute';
+ scrollDiv.style.top = '-9999px';
+ scrollDiv.style.width = '50px';
+ scrollDiv.style.height = '50px';
+ scrollDiv.style.overflow = 'scroll';
+
+ document.body.appendChild(scrollDiv);
+ size = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ }
+ }
+
+ return size;
+ };
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var size = void 0;
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 105 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = isOverflowing;
+
+ var _isWindow = __webpack_require__(100);
+
+ var _isWindow2 = _interopRequireDefault(_isWindow);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function isBody(node) {
+ return node && node.tagName.toLowerCase() === 'body';
+ }
+
+ function bodyIsOverflowing(node) {
+ var doc = (0, _ownerDocument2["default"])(node);
+ var win = (0, _isWindow2["default"])(doc);
+ var fullWidth = win.innerWidth;
+
+ // Support: ie8, no innerWidth
+ if (!fullWidth) {
+ var documentElementRect = doc.documentElement.getBoundingClientRect();
+ fullWidth = documentElementRect.right - Math.abs(documentElementRect.left);
+ }
+
+ return doc.body.clientWidth < fullWidth;
+ }
+
+ function isOverflowing(container) {
+ var win = (0, _isWindow2["default"])(container);
+ return win || isBody(container) ? false : container.scrollHeight > container.clientHeight;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 106 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+ // turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by
+ // `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}
+
+
+
+ exports.__esModule = true;
+ exports['default'] = stripStyle;
+
+ function stripStyle(style) {
+ var ret = {};
+ for (var key in style) {
+ if (!Object.prototype.hasOwnProperty.call(style, key)) {
+ continue;
+ }
+ ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;
+ }
+ return ret;
+ }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 107 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ (function (global, factory) {
+ true ? module.exports = factory(__webpack_require__(3), __webpack_require__(0)) :
+ typeof define === 'function' && define.amd ? define(['react-dom', 'react'], factory) :
+ (global.ReactDraggable = factory(global.ReactDOM,global.React));
+ }(this, (function (ReactDOM,React) { 'use strict';
+
+ ReactDOM = ReactDOM && ReactDOM.hasOwnProperty('default') ? ReactDOM['default'] : ReactDOM;
+ React = React && React.hasOwnProperty('default') ? React['default'] : React;
+
+ function createCommonjsModule(fn, module) {
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
+ }
+
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ *
+ */
+
+ function makeEmptyFunction(arg) {
+ return function () {
+ return arg;
+ };
+ }
+
+ /**
+ * This function accepts and discards inputs; it has no side effects. This is
+ * primarily useful idiomatically for overridable function endpoints which
+ * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
+ */
+ var emptyFunction = function emptyFunction() {};
+
+ emptyFunction.thatReturns = makeEmptyFunction;
+ emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
+ emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
+ emptyFunction.thatReturnsNull = makeEmptyFunction(null);
+ emptyFunction.thatReturnsThis = function () {
+ return this;
+ };
+ emptyFunction.thatReturnsArgument = function (arg) {
+ return arg;
+ };
+
+ var emptyFunction_1 = emptyFunction;
+
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+ /**
+ * Use invariant() to assert state which your program assumes to be true.
+ *
+ * Provide sprintf-style format (only %s is supported) and arguments
+ * to provide information about what broke and what you were
+ * expecting.
+ *
+ * The invariant message will be stripped in production, but the invariant
+ * will remain to ensure logic does not differ in production.
+ */
+
+ var validateFormat = function validateFormat(format) {};
+
+ {
+ validateFormat = function validateFormat(format) {
+ if (format === undefined) {
+ throw new Error('invariant requires an error message argument');
+ }
+ };
+ }
+
+ function invariant(condition, format, a, b, c, d, e, f) {
+ validateFormat(format);
+
+ if (!condition) {
+ var error;
+ if (format === undefined) {
+ error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
+ } else {
+ var args = [a, b, c, d, e, f];
+ var argIndex = 0;
+ error = new Error(format.replace(/%s/g, function () {
+ return args[argIndex++];
+ }));
+ error.name = 'Invariant Violation';
+ }
+
+ error.framesToPop = 1; // we don't care about invariant's own frame
+ throw error;
+ }
+ }
+
+ var invariant_1 = invariant;
+
+ /**
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+ var warning = emptyFunction_1;
+
+ {
+ var printWarning = function printWarning(format) {
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ var argIndex = 0;
+ var message = 'Warning: ' + format.replace(/%s/g, function () {
+ return args[argIndex++];
+ });
+ if (typeof console !== 'undefined') {
+ console.error(message);
+ }
+ try {
+ // --- Welcome to debugging React ---
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch (x) {}
+ };
+
+ warning = function warning(condition, format) {
+ if (format === undefined) {
+ throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
+ }
+
+ if (format.indexOf('Failed Composite propType: ') === 0) {
+ return; // Ignore CompositeComponent proptype check.
+ }
+
+ if (!condition) {
+ for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
+ args[_key2 - 2] = arguments[_key2];
+ }
+
+ printWarning.apply(undefined, [format].concat(args));
+ }
+ };
+ }
+
+ var warning_1 = warning;
+
+ /*
+ object-assign
+ (c) Sindre Sorhus
+ @license MIT
+ */
+ /* eslint-disable no-unused-vars */
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+ function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+ }
+
+ function shouldUseNative() {
+ try {
+ if (!Object.assign) {
+ return false;
+ }
+
+ // Detect buggy property enumeration order in older V8 versions.
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
+ test1[5] = 'de';
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
+ return false;
+ }
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
+ var test2 = {};
+ for (var i = 0; i < 10; i++) {
+ test2['_' + String.fromCharCode(i)] = i;
+ }
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
+ return test2[n];
+ });
+ if (order2.join('') !== '0123456789') {
+ return false;
+ }
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
+ var test3 = {};
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
+ test3[letter] = letter;
+ });
+ if (Object.keys(Object.assign({}, test3)).join('') !==
+ 'abcdefghijklmnopqrst') {
+ return false;
+ }
+
+ return true;
+ } catch (err) {
+ // We don't expect any of the above to throw, but better to be safe.
+ return false;
+ }
+ }
+
+ var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+ };
+
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
+
+ var ReactPropTypesSecret_1 = ReactPropTypesSecret;
+
+ {
+ var invariant$1 = invariant_1;
+ var warning$1 = warning_1;
+ var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
+ var loggedTypeFailures = {};
+ }
+
+ /**
+ * Assert that the values match with the type specs.
+ * Error messages are memorized and will only be shown once.
+ *
+ * @param {object} typeSpecs Map of name to a ReactPropType
+ * @param {object} values Runtime values that need to be type-checked
+ * @param {string} location e.g. "prop", "context", "child context"
+ * @param {string} componentName Name of the component for error messages.
+ * @param {?Function} getStack Returns the component stack.
+ * @private
+ */
+ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
+ {
+ for (var typeSpecName in typeSpecs) {
+ if (typeSpecs.hasOwnProperty(typeSpecName)) {
+ var error;
+ // Prop type validation may throw. In case they do, we don't want to
+ // fail the render phase where it didn't fail before. So we log it.
+ // After these have been cleaned up, we'll let them throw.
+ try {
+ // This is intentionally an invariant that gets caught. It's the same
+ // behavior as without this statement except with a better message.
+ invariant$1(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);
+ error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$1);
+ } catch (ex) {
+ error = ex;
+ }
+ warning$1(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
+ if (error instanceof Error && !(error.message in loggedTypeFailures)) {
+ // Only monitor this failure once because there tends to be a lot of the
+ // same error.
+ loggedTypeFailures[error.message] = true;
+
+ var stack = getStack ? getStack() : '';
+
+ warning$1(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
+ }
+ }
+ }
+ }
+ }
+
+ var checkPropTypes_1 = checkPropTypes;
+
+ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
+ /* global Symbol */
+ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
+ var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
+
+ /**
+ * Returns the iterator method function contained on the iterable object.
+ *
+ * Be sure to invoke the function with the iterable as context:
+ *
+ * var iteratorFn = getIteratorFn(myIterable);
+ * if (iteratorFn) {
+ * var iterator = iteratorFn.call(myIterable);
+ * ...
+ * }
+ *
+ * @param {?object} maybeIterable
+ * @return {?function}
+ */
+ function getIteratorFn(maybeIterable) {
+ var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
+ if (typeof iteratorFn === 'function') {
+ return iteratorFn;
+ }
+ }
+
+ /**
+ * Collection of methods that allow declaration and validation of props that are
+ * supplied to React components. Example usage:
+ *
+ * var Props = require('ReactPropTypes');
+ * var MyArticle = React.createClass({
+ * propTypes: {
+ * // An optional string prop named "description".
+ * description: Props.string,
+ *
+ * // A required enum prop named "category".
+ * category: Props.oneOf(['News','Photos']).isRequired,
+ *
+ * // A prop named "dialog" that requires an instance of Dialog.
+ * dialog: Props.instanceOf(Dialog).isRequired
+ * },
+ * render: function() { ... }
+ * });
+ *
+ * A more formal specification of how these methods are used:
+ *
+ * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
+ * decl := ReactPropTypes.{type}(.isRequired)?
+ *
+ * Each and every declaration produces a function with the same signature. This
+ * allows the creation of custom validation functions. For example:
+ *
+ * var MyLink = React.createClass({
+ * propTypes: {
+ * // An optional string or URI prop named "href".
+ * href: function(props, propName, componentName) {
+ * var propValue = props[propName];
+ * if (propValue != null && typeof propValue !== 'string' &&
+ * !(propValue instanceof URI)) {
+ * return new Error(
+ * 'Expected a string or an URI for ' + propName + ' in ' +
+ * componentName
+ * );
+ * }
+ * }
+ * },
+ * render: function() {...}
+ * });
+ *
+ * @internal
+ */
+
+ var ANONYMOUS = '<>';
+
+ // Important!
+ // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
+ var ReactPropTypes = {
+ array: createPrimitiveTypeChecker('array'),
+ bool: createPrimitiveTypeChecker('boolean'),
+ func: createPrimitiveTypeChecker('function'),
+ number: createPrimitiveTypeChecker('number'),
+ object: createPrimitiveTypeChecker('object'),
+ string: createPrimitiveTypeChecker('string'),
+ symbol: createPrimitiveTypeChecker('symbol'),
+
+ any: createAnyTypeChecker(),
+ arrayOf: createArrayOfTypeChecker,
+ element: createElementTypeChecker(),
+ instanceOf: createInstanceTypeChecker,
+ node: createNodeChecker(),
+ objectOf: createObjectOfTypeChecker,
+ oneOf: createEnumTypeChecker,
+ oneOfType: createUnionTypeChecker,
+ shape: createShapeTypeChecker,
+ exact: createStrictShapeTypeChecker,
+ };
+
+ /**
+ * inlined Object.is polyfill to avoid requiring consumers ship their own
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
+ */
+ /*eslint-disable no-self-compare*/
+ function is(x, y) {
+ // SameValue algorithm
+ if (x === y) {
+ // Steps 1-5, 7-10
+ // Steps 6.b-6.e: +0 != -0
+ return x !== 0 || 1 / x === 1 / y;
+ } else {
+ // Step 6.a: NaN == NaN
+ return x !== x && y !== y;
+ }
+ }
+ /*eslint-enable no-self-compare*/
+
+ /**
+ * We use an Error-like object for backward compatibility as people may call
+ * PropTypes directly and inspect their output. However, we don't use real
+ * Errors anymore. We don't inspect their stack anyway, and creating them
+ * is prohibitively expensive if they are created too often, such as what
+ * happens in oneOfType() for any type before the one that matched.
+ */
+ function PropTypeError(message) {
+ this.message = message;
+ this.stack = '';
+ }
+ // Make `instanceof Error` still work for returned errors.
+ PropTypeError.prototype = Error.prototype;
+
+ function createChainableTypeChecker(validate) {
+ {
+ var manualPropTypeCallCache = {};
+ var manualPropTypeWarningCount = 0;
+ }
+ function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
+ componentName = componentName || ANONYMOUS;
+ propFullName = propFullName || propName;
+
+ if (secret !== ReactPropTypesSecret_1) {
+ if (throwOnDirectAccess) {
+ // New behavior only for users of `prop-types` package
+ invariant_1(
+ false,
+ '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'
+ );
+ } else if ("development" !== 'production' && typeof console !== 'undefined') {
+ // Old behavior for people using React.PropTypes
+ var cacheKey = componentName + ':' + propName;
+ if (
+ !manualPropTypeCallCache[cacheKey] &&
+ // Avoid spamming the console because they are often not actionable except for lib authors
+ manualPropTypeWarningCount < 3
+ ) {
+ warning_1(
+ false,
+ 'You are manually calling a React.PropTypes validation ' +
+ 'function for the `%s` prop on `%s`. This is deprecated ' +
+ 'and will throw in the standalone `prop-types` package. ' +
+ 'You may be seeing this warning due to a third-party PropTypes ' +
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
+ propFullName,
+ componentName
+ );
+ manualPropTypeCallCache[cacheKey] = true;
+ manualPropTypeWarningCount++;
+ }
+ }
+ }
+ if (props[propName] == null) {
+ if (isRequired) {
+ if (props[propName] === null) {
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
+ }
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
+ }
+ return null;
+ } else {
+ return validate(props, propName, componentName, location, propFullName);
+ }
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ function createPrimitiveTypeChecker(expectedType) {
+ function validate(props, propName, componentName, location, propFullName, secret) {
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== expectedType) {
+ // `propValue` being instance of, say, date/regexp, pass the 'object'
+ // check, but we can offer a more precise error message here rather than
+ // 'of type `object`'.
+ var preciseType = getPreciseType(propValue);
+
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createAnyTypeChecker() {
+ return createChainableTypeChecker(emptyFunction_1.thatReturnsNull);
+ }
+
+ function createArrayOfTypeChecker(typeChecker) {
+ function validate(props, propName, componentName, location, propFullName) {
+ if (typeof typeChecker !== 'function') {
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
+ }
+ var propValue = props[propName];
+ if (!Array.isArray(propValue)) {
+ var propType = getPropType(propValue);
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
+ }
+ for (var i = 0; i < propValue.length; i++) {
+ var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret_1);
+ if (error instanceof Error) {
+ return error;
+ }
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createElementTypeChecker() {
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ if (!isValidElement(propValue)) {
+ var propType = getPropType(propValue);
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createInstanceTypeChecker(expectedClass) {
+ function validate(props, propName, componentName, location, propFullName) {
+ if (!(props[propName] instanceof expectedClass)) {
+ var expectedClassName = expectedClass.name || ANONYMOUS;
+ var actualClassName = getClassName(props[propName]);
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createEnumTypeChecker(expectedValues) {
+ if (!Array.isArray(expectedValues)) {
+ warning_1(false, 'Invalid argument supplied to oneOf, expected an instance of array.');
+ return emptyFunction_1.thatReturnsNull;
+ }
+
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ for (var i = 0; i < expectedValues.length; i++) {
+ if (is(propValue, expectedValues[i])) {
+ return null;
+ }
+ }
+
+ var valuesString = JSON.stringify(expectedValues);
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createObjectOfTypeChecker(typeChecker) {
+ function validate(props, propName, componentName, location, propFullName) {
+ if (typeof typeChecker !== 'function') {
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
+ }
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== 'object') {
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
+ }
+ for (var key in propValue) {
+ if (propValue.hasOwnProperty(key)) {
+ var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
+ if (error instanceof Error) {
+ return error;
+ }
+ }
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createUnionTypeChecker(arrayOfTypeCheckers) {
+ if (!Array.isArray(arrayOfTypeCheckers)) {
+ warning_1(false, 'Invalid argument supplied to oneOfType, expected an instance of array.');
+ return emptyFunction_1.thatReturnsNull;
+ }
+
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
+ var checker = arrayOfTypeCheckers[i];
+ if (typeof checker !== 'function') {
+ warning_1(
+ false,
+ 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
+ 'received %s at index %s.',
+ getPostfixForTypeWarning(checker),
+ i
+ );
+ return emptyFunction_1.thatReturnsNull;
+ }
+ }
+
+ function validate(props, propName, componentName, location, propFullName) {
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
+ var checker = arrayOfTypeCheckers[i];
+ if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret_1) == null) {
+ return null;
+ }
+ }
+
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createNodeChecker() {
+ function validate(props, propName, componentName, location, propFullName) {
+ if (!isNode(props[propName])) {
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createShapeTypeChecker(shapeTypes) {
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== 'object') {
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
+ }
+ for (var key in shapeTypes) {
+ var checker = shapeTypes[key];
+ if (!checker) {
+ continue;
+ }
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
+ if (error) {
+ return error;
+ }
+ }
+ return null;
+ }
+ return createChainableTypeChecker(validate);
+ }
+
+ function createStrictShapeTypeChecker(shapeTypes) {
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== 'object') {
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
+ }
+ // We need to check all keys in case some are required but missing from
+ // props.
+ var allKeys = objectAssign({}, props[propName], shapeTypes);
+ for (var key in allKeys) {
+ var checker = shapeTypes[key];
+ if (!checker) {
+ return new PropTypeError(
+ 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
+ '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
+ '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
+ );
+ }
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
+ if (error) {
+ return error;
+ }
+ }
+ return null;
+ }
+
+ return createChainableTypeChecker(validate);
+ }
+
+ function isNode(propValue) {
+ switch (typeof propValue) {
+ case 'number':
+ case 'string':
+ case 'undefined':
+ return true;
+ case 'boolean':
+ return !propValue;
+ case 'object':
+ if (Array.isArray(propValue)) {
+ return propValue.every(isNode);
+ }
+ if (propValue === null || isValidElement(propValue)) {
+ return true;
+ }
+
+ var iteratorFn = getIteratorFn(propValue);
+ if (iteratorFn) {
+ var iterator = iteratorFn.call(propValue);
+ var step;
+ if (iteratorFn !== propValue.entries) {
+ while (!(step = iterator.next()).done) {
+ if (!isNode(step.value)) {
+ return false;
+ }
+ }
+ } else {
+ // Iterator will provide entry [k,v] tuples rather than values.
+ while (!(step = iterator.next()).done) {
+ var entry = step.value;
+ if (entry) {
+ if (!isNode(entry[1])) {
+ return false;
+ }
+ }
+ }
+ }
+ } else {
+ return false;
+ }
+
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ function isSymbol(propType, propValue) {
+ // Native Symbol.
+ if (propType === 'symbol') {
+ return true;
+ }
+
+ // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
+ if (propValue['@@toStringTag'] === 'Symbol') {
+ return true;
+ }
+
+ // Fallback for non-spec compliant Symbols which are polyfilled.
+ if (typeof Symbol === 'function' && propValue instanceof Symbol) {
+ return true;
+ }
+
+ return false;
+ }
+
+ // Equivalent of `typeof` but with special handling for array and regexp.
+ function getPropType(propValue) {
+ var propType = typeof propValue;
+ if (Array.isArray(propValue)) {
+ return 'array';
+ }
+ if (propValue instanceof RegExp) {
+ // Old webkits (at least until Android 4.0) return 'function' rather than
+ // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
+ // passes PropTypes.object.
+ return 'object';
+ }
+ if (isSymbol(propType, propValue)) {
+ return 'symbol';
+ }
+ return propType;
+ }
+
+ // This handles more types than `getPropType`. Only used for error messages.
+ // See `createPrimitiveTypeChecker`.
+ function getPreciseType(propValue) {
+ if (typeof propValue === 'undefined' || propValue === null) {
+ return '' + propValue;
+ }
+ var propType = getPropType(propValue);
+ if (propType === 'object') {
+ if (propValue instanceof Date) {
+ return 'date';
+ } else if (propValue instanceof RegExp) {
+ return 'regexp';
+ }
+ }
+ return propType;
+ }
+
+ // Returns a string that is postfixed to a warning about an invalid type.
+ // For example, "undefined" or "of type array"
+ function getPostfixForTypeWarning(value) {
+ var type = getPreciseType(value);
+ switch (type) {
+ case 'array':
+ case 'object':
+ return 'an ' + type;
+ case 'boolean':
+ case 'date':
+ case 'regexp':
+ return 'a ' + type;
+ default:
+ return type;
+ }
+ }
+
+ // Returns class name of the object, if any.
+ function getClassName(propValue) {
+ if (!propValue.constructor || !propValue.constructor.name) {
+ return ANONYMOUS;
+ }
+ return propValue.constructor.name;
+ }
+
+ ReactPropTypes.checkPropTypes = checkPropTypes_1;
+ ReactPropTypes.PropTypes = ReactPropTypes;
+
+ return ReactPropTypes;
+ };
+
+ var propTypes = createCommonjsModule(function (module) {
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+ {
+ var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
+ Symbol.for &&
+ Symbol.for('react.element')) ||
+ 0xeac7;
+
+ var isValidElement = function(object) {
+ return typeof object === 'object' &&
+ object !== null &&
+ object.$$typeof === REACT_ELEMENT_TYPE;
+ };
+
+ // By explicitly using `prop-types` you are opting into new development behavior.
+ // http://fb.me/prop-types-in-prod
+ var throwOnDirectAccess = true;
+ module.exports = factoryWithTypeCheckers(isValidElement, throwOnDirectAccess);
+ }
+ });
+
+ var classnames = createCommonjsModule(function (module) {
+ /*!
+ Copyright (c) 2016 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+ */
+ /* global define */
+
+ (function () {
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames () {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg)) {
+ classes.push(classNames.apply(null, arg));
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ if ('object' !== 'undefined' && module.exports) {
+ module.exports = classNames;
+ } else if (false) {
+ // register as 'classnames', consistent with npm package name
+ undefined('classnames', [], function () {
+ return classNames;
+ });
+ } else {
+ window.classNames = classNames;
+ }
+ }());
+ });
+
+ // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
+ function findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/ {
+ for (var i = 0, length = array.length; i < length; i++) {
+ if (callback.apply(callback, [array[i], i, array])) return array[i];
+ }
+ }
+
+ function isFunction(func /*: any*/) /*: boolean*/ {
+ return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
+ }
+
+ function isNum(num /*: any*/) /*: boolean*/ {
+ return typeof num === 'number' && !isNaN(num);
+ }
+
+ function int(a /*: string*/) /*: number*/ {
+ return parseInt(a, 10);
+ }
+
+ function dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) {
+ if (props[propName]) {
+ return new Error('Invalid prop ' + propName + ' passed to ' + componentName + ' - do not set this, set it on the child.');
+ }
+ }
+
+ var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
+ function getPrefix() /*: string*/ {
+ var prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
+
+ // Checking specifically for 'window.document' is for pseudo-browser server-side
+ // environments that define 'window' as the global context.
+ // E.g. React-rails (see https://github.com/reactjs/react-rails/pull/84)
+ if (typeof window === 'undefined' || typeof window.document === 'undefined') return '';
+
+ var style = window.document.documentElement.style;
+
+ if (prop in style) return '';
+
+ for (var i = 0; i < prefixes.length; i++) {
+ if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
+ }
+
+ return '';
+ }
+
+ function browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/ {
+ return prefix ? '' + prefix + kebabToTitleCase(prop) : prop;
+ }
+
+ function kebabToTitleCase(str /*: string*/) /*: string*/ {
+ var out = '';
+ var shouldCapitalize = true;
+ for (var i = 0; i < str.length; i++) {
+ if (shouldCapitalize) {
+ out += str[i].toUpperCase();
+ shouldCapitalize = false;
+ } else if (str[i] === '-') {
+ shouldCapitalize = true;
+ } else {
+ out += str[i];
+ }
+ }
+ return out;
+ }
+
+ // Default export is the prefix itself, like 'Moz', 'Webkit', etc
+ // Note that you may have to re-test for certain things; for instance, Chrome 50
+ // can handle unprefixed `transform`, but not unprefixed `user-select`
+ var browserPrefix = getPrefix();
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ var defineProperty = function (obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ };
+
+ var _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ var inherits = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ var possibleConstructorReturn = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
+ };
+
+ var slicedToArray = function () {
+ function sliceIterator(arr, i) {
+ var _arr = [];
+ var _n = true;
+ var _d = false;
+ var _e = undefined;
+
+ try {
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+ _arr.push(_s.value);
+
+ if (i && _arr.length === i) break;
+ }
+ } catch (err) {
+ _d = true;
+ _e = err;
+ } finally {
+ try {
+ if (!_n && _i["return"]) _i["return"]();
+ } finally {
+ if (_d) throw _e;
+ }
+ }
+
+ return _arr;
+ }
+
+ return function (arr, i) {
+ if (Array.isArray(arr)) {
+ return arr;
+ } else if (Symbol.iterator in Object(arr)) {
+ return sliceIterator(arr, i);
+ } else {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+ }
+ };
+ }();
+
+ /*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/
+
+
+ var matchesSelectorFunc = '';
+ function matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/ {
+ if (!matchesSelectorFunc) {
+ matchesSelectorFunc = findInArray(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
+ // $FlowIgnore: Doesn't think elements are indexable
+ return isFunction(el[method]);
+ });
+ }
+
+ // Might not be found entirely (not an Element?) - in that case, bail
+ // $FlowIgnore: Doesn't think elements are indexable
+ if (!isFunction(el[matchesSelectorFunc])) return false;
+
+ // $FlowIgnore: Doesn't think elements are indexable
+ return el[matchesSelectorFunc](selector);
+ }
+
+ // Works up the tree to the draggable itself attempting to match selector.
+ function matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/ {
+ var node = el;
+ do {
+ if (matchesSelector(node, selector)) return true;
+ if (node === baseNode) return false;
+ node = node.parentNode;
+ } while (node);
+
+ return false;
+ }
+
+ function addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/) /*: void*/ {
+ if (!el) {
+ return;
+ }
+ if (el.attachEvent) {
+ el.attachEvent('on' + event, handler);
+ } else if (el.addEventListener) {
+ el.addEventListener(event, handler, true);
+ } else {
+ // $FlowIgnore: Doesn't think elements are indexable
+ el['on' + event] = handler;
+ }
+ }
+
+ function removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/) /*: void*/ {
+ if (!el) {
+ return;
+ }
+ if (el.detachEvent) {
+ el.detachEvent('on' + event, handler);
+ } else if (el.removeEventListener) {
+ el.removeEventListener(event, handler, true);
+ } else {
+ // $FlowIgnore: Doesn't think elements are indexable
+ el['on' + event] = null;
+ }
+ }
+
+ function outerHeight(node /*: HTMLElement*/) /*: number*/ {
+ // This is deliberately excluding margin for our calculations, since we are using
+ // offsetTop which is including margin. See getBoundPosition
+ var height = node.clientHeight;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ height += int(computedStyle.borderTopWidth);
+ height += int(computedStyle.borderBottomWidth);
+ return height;
+ }
+
+ function outerWidth(node /*: HTMLElement*/) /*: number*/ {
+ // This is deliberately excluding margin for our calculations, since we are using
+ // offsetLeft which is including margin. See getBoundPosition
+ var width = node.clientWidth;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ width += int(computedStyle.borderLeftWidth);
+ width += int(computedStyle.borderRightWidth);
+ return width;
+ }
+ function innerHeight(node /*: HTMLElement*/) /*: number*/ {
+ var height = node.clientHeight;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ height -= int(computedStyle.paddingTop);
+ height -= int(computedStyle.paddingBottom);
+ return height;
+ }
+
+ function innerWidth(node /*: HTMLElement*/) /*: number*/ {
+ var width = node.clientWidth;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ width -= int(computedStyle.paddingLeft);
+ width -= int(computedStyle.paddingRight);
+ return width;
+ }
+
+ // Get from offsetParent
+ function offsetXYFromParent(evt /*: {clientX: number, clientY: number}*/, offsetParent /*: HTMLElement*/) /*: ControlPosition*/ {
+ var isBody = offsetParent === offsetParent.ownerDocument.body;
+ var offsetParentRect = isBody ? { left: 0, top: 0 } : offsetParent.getBoundingClientRect();
+
+ var x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left;
+ var y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top;
+
+ return { x: x, y: y };
+ }
+
+ function createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/ {
+ var translation = getTranslation(controlPos, positionOffset, 'px');
+ return defineProperty({}, browserPrefixToKey('transform', browserPrefix), translation);
+ }
+
+ function createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/ {
+ var translation = getTranslation(controlPos, positionOffset, '');
+ return translation;
+ }
+ function getTranslation(_ref2, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/ {
+ var x = _ref2.x,
+ y = _ref2.y;
+
+ var translation = 'translate(' + x + unitSuffix + ',' + y + unitSuffix + ')';
+ if (positionOffset) {
+ var defaultX = '' + (typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
+ var defaultY = '' + (typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
+ translation = 'translate(' + defaultX + ', ' + defaultY + ')' + translation;
+ }
+ return translation;
+ }
+
+ function getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/ {
+ return e.targetTouches && findInArray(e.targetTouches, function (t) {
+ return identifier === t.identifier;
+ }) || e.changedTouches && findInArray(e.changedTouches, function (t) {
+ return identifier === t.identifier;
+ });
+ }
+
+ function getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/ {
+ if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
+ if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
+ }
+
+ // User-select Hacks:
+ //
+ // Useful for preventing blue highlights all over everything when dragging.
+
+ // Note we're passing `document` b/c we could be iframed
+ function addUserSelectStyles(doc /*: ?Document*/) {
+ if (!doc) return;
+ var styleEl = doc.getElementById('react-draggable-style-el');
+ if (!styleEl) {
+ styleEl = doc.createElement('style');
+ styleEl.type = 'text/css';
+ styleEl.id = 'react-draggable-style-el';
+ styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
+ styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
+ doc.getElementsByTagName('head')[0].appendChild(styleEl);
+ }
+ if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
+ }
+
+ function removeUserSelectStyles(doc /*: ?Document*/) {
+ try {
+ if (doc && doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');
+ // $FlowIgnore: IE
+ if (doc.selection) {
+ // $FlowIgnore: IE
+ doc.selection.empty();
+ } else {
+ window.getSelection().removeAllRanges(); // remove selection caused by scroll
+ }
+ } catch (e) {
+ // probably IE
+ }
+ }
+
+ function styleHacks() /*: Object*/ {
+ var childStyle /*: Object*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+
+ // Workaround IE pointer events; see #51
+ // https://github.com/mzabriskie/react-draggable/issues/51#issuecomment-103488278
+ return _extends({
+ touchAction: 'none'
+ }, childStyle);
+ }
+
+ function addClassName(el /*: HTMLElement*/, className /*: string*/) {
+ if (el.classList) {
+ el.classList.add(className);
+ } else {
+ if (!el.className.match(new RegExp('(?:^|\\s)' + className + '(?!\\S)'))) {
+ el.className += ' ' + className;
+ }
+ }
+ }
+
+ function removeClassName(el /*: HTMLElement*/, className /*: string*/) {
+ if (el.classList) {
+ el.classList.remove(className);
+ } else {
+ el.className = el.className.replace(new RegExp('(?:^|\\s)' + className + '(?!\\S)', 'g'), '');
+ }
+ }
+
+ /*:: import type Draggable from '../Draggable';*/
+ /*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/
+ /*:: import type DraggableCore from '../DraggableCore';*/
+
+
+ function getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/ {
+ // If no bounds, short-circuit and move on
+ if (!draggable.props.bounds) return [x, y];
+
+ // Clone new bounds
+ var bounds = draggable.props.bounds;
+
+ bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
+ var node = findDOMNode(draggable);
+
+ if (typeof bounds === 'string') {
+ var ownerDocument = node.ownerDocument;
+
+ var ownerWindow = ownerDocument.defaultView;
+ var boundNode = void 0;
+ if (bounds === 'parent') {
+ boundNode = node.parentNode;
+ } else {
+ boundNode = ownerDocument.querySelector(bounds);
+ }
+ if (!(boundNode instanceof ownerWindow.HTMLElement)) {
+ throw new Error('Bounds selector "' + bounds + '" could not find an element.');
+ }
+ var nodeStyle = ownerWindow.getComputedStyle(node);
+ var boundNodeStyle = ownerWindow.getComputedStyle(boundNode);
+ // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
+ bounds = {
+ left: -node.offsetLeft + int(boundNodeStyle.paddingLeft) + int(nodeStyle.marginLeft),
+ top: -node.offsetTop + int(boundNodeStyle.paddingTop) + int(nodeStyle.marginTop),
+ right: innerWidth(boundNode) - outerWidth(node) - node.offsetLeft + int(boundNodeStyle.paddingRight) - int(nodeStyle.marginRight),
+ bottom: innerHeight(boundNode) - outerHeight(node) - node.offsetTop + int(boundNodeStyle.paddingBottom) - int(nodeStyle.marginBottom)
+ };
+ }
+
+ // Keep x and y below right and bottom limits...
+ if (isNum(bounds.right)) x = Math.min(x, bounds.right);
+ if (isNum(bounds.bottom)) y = Math.min(y, bounds.bottom);
+
+ // But above left and top limits.
+ if (isNum(bounds.left)) x = Math.max(x, bounds.left);
+ if (isNum(bounds.top)) y = Math.max(y, bounds.top);
+
+ return [x, y];
+ }
+
+ function snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/ {
+ var x = Math.round(pendingX / grid[0]) * grid[0];
+ var y = Math.round(pendingY / grid[1]) * grid[1];
+ return [x, y];
+ }
+
+ function canDragX(draggable /*: Draggable*/) /*: boolean*/ {
+ return draggable.props.axis === 'both' || draggable.props.axis === 'x';
+ }
+
+ function canDragY(draggable /*: Draggable*/) /*: boolean*/ {
+ return draggable.props.axis === 'both' || draggable.props.axis === 'y';
+ }
+
+ // Get {x, y} positions from event.
+ function getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/ {
+ var touchObj = typeof touchIdentifier === 'number' ? getTouch(e, touchIdentifier) : null;
+ if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
+ var node = findDOMNode(draggableCore);
+ // User can provide an offsetParent if desired.
+ var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
+ return offsetXYFromParent(touchObj || e, offsetParent);
+ }
+
+ // Create an data object exposed by 's events
+ function createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/ {
+ var state = draggable.state;
+ var isStart = !isNum(state.lastX);
+ var node = findDOMNode(draggable);
+
+ if (isStart) {
+ // If this is our first move, use the x and y as last coords.
+ return {
+ node: node,
+ deltaX: 0, deltaY: 0,
+ lastX: x, lastY: y,
+ x: x, y: y
+ };
+ } else {
+ // Otherwise calculate proper values.
+ return {
+ node: node,
+ deltaX: x - state.lastX, deltaY: y - state.lastY,
+ lastX: state.lastX, lastY: state.lastY,
+ x: x, y: y
+ };
+ }
+ }
+
+ // Create an data exposed by 's events
+ function createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/ {
+ var scale = draggable.props.scale;
+ return {
+ node: coreData.node,
+ x: draggable.state.x + coreData.deltaX / scale,
+ y: draggable.state.y + coreData.deltaY / scale,
+ deltaX: coreData.deltaX / scale,
+ deltaY: coreData.deltaY / scale,
+ lastX: draggable.state.x,
+ lastY: draggable.state.y
+ };
+ }
+
+ // A lot faster than stringify/parse
+ function cloneBounds(bounds /*: Bounds*/) /*: Bounds*/ {
+ return {
+ left: bounds.left,
+ top: bounds.top,
+ right: bounds.right,
+ bottom: bounds.bottom
+ };
+ }
+
+ function findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/ {
+ var node = ReactDOM.findDOMNode(draggable);
+ if (!node) {
+ throw new Error(': Unmounted during event!');
+ }
+ // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
+ return node;
+ }
+
+ /*eslint no-console:0*/
+ function log() {
+ }
+
+ /*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/
+
+
+ // Simple abstraction for dragging events names.
+ /*:: import type {Element as ReactElement} from 'react';*/
+ var eventsFor = {
+ touch: {
+ start: 'touchstart',
+ move: 'touchmove',
+ stop: 'touchend'
+ },
+ mouse: {
+ start: 'mousedown',
+ move: 'mousemove',
+ stop: 'mouseup'
+ }
+ };
+
+ // Default to mouse events.
+ var dragEventFor = eventsFor.mouse;
+
+ /*:: type DraggableCoreState = {
+ dragging: boolean,
+ lastX: number,
+ lastY: number,
+ touchIdentifier: ?number
+ };*/
+ /*:: export type DraggableBounds = {
+ left: number,
+ right: number,
+ top: number,
+ bottom: number,
+ };*/
+ /*:: export type DraggableData = {
+ node: HTMLElement,
+ x: number, y: number,
+ deltaX: number, deltaY: number,
+ lastX: number, lastY: number,
+ };*/
+ /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void;*/
+ /*:: export type ControlPosition = {x: number, y: number};*/
+ /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
+
+
+ //
+ // Define .
+ //
+ // is for advanced usage of . It maintains minimal internal state so it can
+ // work well with libraries that require more control over the element.
+ //
+
+ /*:: export type DraggableCoreProps = {
+ allowAnyClick: boolean,
+ cancel: string,
+ children: ReactElement,
+ disabled: boolean,
+ enableUserSelectHack: boolean,
+ offsetParent: HTMLElement,
+ grid: [number, number],
+ handle: string,
+ onStart: DraggableEventHandler,
+ onDrag: DraggableEventHandler,
+ onStop: DraggableEventHandler,
+ onMouseDown: (e: MouseEvent) => void,
+ };*/
+
+ var DraggableCore = function (_React$Component) {
+ inherits(DraggableCore, _React$Component);
+
+ function DraggableCore() {
+ var _ref;
+
+ var _temp, _this, _ret;
+
+ classCallCheck(this, DraggableCore);
+
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = DraggableCore.__proto__ || Object.getPrototypeOf(DraggableCore)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
+ dragging: false,
+ // Used while dragging to determine deltas.
+ lastX: NaN, lastY: NaN,
+ touchIdentifier: null
+ }, _this.handleDragStart = function (e) {
+ // Make it possible to attach event handlers on top of this one.
+ _this.props.onMouseDown(e);
+
+ // Only accept left-clicks.
+ if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;
+
+ // Get nodes. Be sure to grab relative document (could be iframed)
+ var thisNode = ReactDOM.findDOMNode(_this);
+ if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
+ throw new Error(' not mounted on DragStart!');
+ }
+ var ownerDocument = thisNode.ownerDocument;
+
+ // Short circuit if handle or cancel prop was provided and selector doesn't match.
+
+ if (_this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || _this.props.handle && !matchesSelectorAndParentsTo(e.target, _this.props.handle, thisNode) || _this.props.cancel && matchesSelectorAndParentsTo(e.target, _this.props.cancel, thisNode)) {
+ return;
+ }
+
+ // Set touch identifier in component state if this is a touch event. This allows us to
+ // distinguish between individual touches on multitouch screens by identifying which
+ // touchpoint was set to this element.
+ var touchIdentifier = getTouchIdentifier(e);
+ _this.setState({ touchIdentifier: touchIdentifier });
+
+ // Get the current drag point from the event. This is used as the offset.
+ var position = getControlPosition(e, touchIdentifier, _this);
+ if (position == null) return; // not possible but satisfies flow
+ var x = position.x,
+ y = position.y;
+
+ // Create an event object with all the data parents need to make a decision here.
+
+ var coreEvent = createCoreData(_this, x, y);
+
+ // Call event handler. If it returns explicit false, cancel.
+ log('calling', _this.props.onStart);
+ var shouldUpdate = _this.props.onStart(e, coreEvent);
+ if (shouldUpdate === false) return;
+
+ // Add a style to the body to disable user-select. This prevents text from
+ // being selected all over the page.
+ if (_this.props.enableUserSelectHack) addUserSelectStyles(ownerDocument);
+
+ // Initiate dragging. Set the current x and y as offsets
+ // so we know how much we've moved during the drag. This allows us
+ // to drag elements around even if they have been moved, without issue.
+ _this.setState({
+ dragging: true,
+
+ lastX: x,
+ lastY: y
+ });
+
+ // Add events to the document directly so we catch when the user's mouse/touch moves outside of
+ // this element. We use different events depending on whether or not we have detected that this
+ // is a touch-capable device.
+ addEvent(ownerDocument, dragEventFor.move, _this.handleDrag);
+ addEvent(ownerDocument, dragEventFor.stop, _this.handleDragStop);
+ }, _this.handleDrag = function (e) {
+
+ // Prevent scrolling on mobile devices, like ipad/iphone.
+ if (e.type === 'touchmove') e.preventDefault();
+
+ // Get the current drag point from the event. This is used as the offset.
+ var position = getControlPosition(e, _this.state.touchIdentifier, _this);
+ if (position == null) return;
+ var x = position.x,
+ y = position.y;
+
+ // Snap to grid if prop has been provided
+
+ if (Array.isArray(_this.props.grid)) {
+ var _deltaX = x - _this.state.lastX,
+ _deltaY = y - _this.state.lastY;
+
+ var _snapToGrid = snapToGrid(_this.props.grid, _deltaX, _deltaY);
+
+ var _snapToGrid2 = slicedToArray(_snapToGrid, 2);
+
+ _deltaX = _snapToGrid2[0];
+ _deltaY = _snapToGrid2[1];
+
+ if (!_deltaX && !_deltaY) return; // skip useless drag
+ x = _this.state.lastX + _deltaX, y = _this.state.lastY + _deltaY;
+ }
+
+ var coreEvent = createCoreData(_this, x, y);
+
+ // Call event handler. If it returns explicit false, trigger end.
+ var shouldUpdate = _this.props.onDrag(e, coreEvent);
+ if (shouldUpdate === false) {
+ try {
+ // $FlowIgnore
+ _this.handleDragStop(new MouseEvent('mouseup'));
+ } catch (err) {
+ // Old browsers
+ var event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);
+ // I see why this insanity was deprecated
+ // $FlowIgnore
+ event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ _this.handleDragStop(event);
+ }
+ return;
+ }
+
+ _this.setState({
+ lastX: x,
+ lastY: y
+ });
+ }, _this.handleDragStop = function (e) {
+ if (!_this.state.dragging) return;
+
+ var position = getControlPosition(e, _this.state.touchIdentifier, _this);
+ if (position == null) return;
+ var x = position.x,
+ y = position.y;
+
+ var coreEvent = createCoreData(_this, x, y);
+
+ var thisNode = ReactDOM.findDOMNode(_this);
+ if (thisNode) {
+ // Remove user-select hack
+ if (_this.props.enableUserSelectHack) removeUserSelectStyles(thisNode.ownerDocument);
+ }
+
+ // Reset the el.
+ _this.setState({
+ dragging: false,
+ lastX: NaN,
+ lastY: NaN
+ });
+
+ // Call event handler
+ _this.props.onStop(e, coreEvent);
+
+ if (thisNode) {
+ removeEvent(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
+ removeEvent(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
+ }
+ }, _this.onMouseDown = function (e) {
+ dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
+
+ return _this.handleDragStart(e);
+ }, _this.onMouseUp = function (e) {
+ dragEventFor = eventsFor.mouse;
+
+ return _this.handleDragStop(e);
+ }, _this.onTouchStart = function (e) {
+ // We're on a touch device now, so change the event handlers
+ dragEventFor = eventsFor.touch;
+
+ return _this.handleDragStart(e);
+ }, _this.onTouchEnd = function (e) {
+ // We're on a touch device now, so change the event handlers
+ dragEventFor = eventsFor.touch;
+
+ return _this.handleDragStop(e);
+ }, _temp), possibleConstructorReturn(_this, _ret);
+ }
+
+ createClass(DraggableCore, [{
+ key: 'componentWillUnmount',
+ value: function componentWillUnmount() {
+ // Remove any leftover event handlers. Remove both touch and mouse handlers in case
+ // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
+ var thisNode = ReactDOM.findDOMNode(this);
+ if (thisNode) {
+ var ownerDocument = thisNode.ownerDocument;
+
+ removeEvent(ownerDocument, eventsFor.mouse.move, this.handleDrag);
+ removeEvent(ownerDocument, eventsFor.touch.move, this.handleDrag);
+ removeEvent(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
+ removeEvent(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
+ if (this.props.enableUserSelectHack) removeUserSelectStyles(ownerDocument);
+ }
+ }
+
+ // Same as onMouseDown (start drag), but now consider this a touch device.
+
+ }, {
+ key: 'render',
+ value: function render() {
+ // Reuse the child provided
+ // This makes it flexible to use whatever element is wanted (div, ul, etc)
+ return React.cloneElement(React.Children.only(this.props.children), {
+ style: styleHacks(this.props.children.props.style),
+
+ // Note: mouseMove handler is attached to document so it will still function
+ // when the user drags quickly and leaves the bounds of the element.
+ onMouseDown: this.onMouseDown,
+ onTouchStart: this.onTouchStart,
+ onMouseUp: this.onMouseUp,
+ onTouchEnd: this.onTouchEnd
+ });
+ }
+ }]);
+ return DraggableCore;
+ }(React.Component);
+
+ DraggableCore.displayName = 'DraggableCore';
+ DraggableCore.propTypes = {
+ /**
+ * `allowAnyClick` allows dragging using any mouse button.
+ * By default, we only accept the left button.
+ *
+ * Defaults to `false`.
+ */
+ allowAnyClick: propTypes.bool,
+
+ /**
+ * `disabled`, if true, stops the from dragging. All handlers,
+ * with the exception of `onMouseDown`, will not fire.
+ */
+ disabled: propTypes.bool,
+
+ /**
+ * By default, we add 'user-select:none' attributes to the document body
+ * to prevent ugly text selection during drag. If this is causing problems
+ * for your app, set this to `false`.
+ */
+ enableUserSelectHack: propTypes.bool,
+
+ /**
+ * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
+ * instead of using the parent node.
+ */
+ offsetParent: function offsetParent(props /*: DraggableCoreProps*/, propName /*: $Keys*/) {
+ if (props[propName] && props[propName].nodeType !== 1) {
+ throw new Error('Draggable\'s offsetParent must be a DOM Node.');
+ }
+ },
+
+ /**
+ * `grid` specifies the x and y that dragging should snap to.
+ */
+ grid: propTypes.arrayOf(propTypes.number),
+
+ /**
+ * `scale` specifies the scale of the area you are dragging inside of. It allows
+ * the drag deltas to scale correctly with how far zoomed in/out you are.
+ */
+ scale: propTypes.number,
+
+ /**
+ * `handle` specifies a selector to be used as the handle that initiates drag.
+ *
+ * Example:
+ *
+ * ```jsx
+ * let App = React.createClass({
+ * render: function () {
+ * return (
+ *
+ *
+ *
Click me to drag
+ *
This is some other content
+ *
+ *
+ * );
+ * }
+ * });
+ * ```
+ */
+ handle: propTypes.string,
+
+ /**
+ * `cancel` specifies a selector to be used to prevent drag initialization.
+ *
+ * Example:
+ *
+ * ```jsx
+ * let App = React.createClass({
+ * render: function () {
+ * return(
+ *
+ *
+ *
You can't drag from here
+ *
Dragging here works fine
+ *
+ *
+ * );
+ * }
+ * });
+ * ```
+ */
+ cancel: propTypes.string,
+
+ /**
+ * Called when dragging starts.
+ * If this function returns the boolean false, dragging will be canceled.
+ */
+ onStart: propTypes.func,
+
+ /**
+ * Called while dragging.
+ * If this function returns the boolean false, dragging will be canceled.
+ */
+ onDrag: propTypes.func,
+
+ /**
+ * Called when dragging stops.
+ * If this function returns the boolean false, the drag will remain active.
+ */
+ onStop: propTypes.func,
+
+ /**
+ * A workaround option which can be passed if onMouseDown needs to be accessed,
+ * since it'll always be blocked (as there is internal use of onMouseDown)
+ */
+ onMouseDown: propTypes.func,
+
+ /**
+ * These properties should be defined on the child, not here.
+ */
+ className: dontSetMe,
+ style: dontSetMe,
+ transform: dontSetMe
+ };
+ DraggableCore.defaultProps = {
+ allowAnyClick: false, // by default only accept left click
+ cancel: null,
+ disabled: false,
+ enableUserSelectHack: true,
+ offsetParent: null,
+ handle: null,
+ grid: null,
+ transform: null,
+ onStart: function onStart() {},
+ onDrag: function onDrag() {},
+ onStop: function onStop() {},
+ onMouseDown: function onMouseDown() {}
+ };
+
+ /*:: import type {DraggableEventHandler} from './utils/types';*/
+ /*:: import type {Element as ReactElement} from 'react';*/
+ /*:: type DraggableState = {
+ dragging: boolean,
+ dragged: boolean,
+ x: number, y: number,
+ slackX: number, slackY: number,
+ isElementSVG: boolean
+ };*/
+
+
+ //
+ // Define
+ //
+
+ /*:: export type DraggableProps = {
+ ...$Exact,
+ axis: 'both' | 'x' | 'y' | 'none',
+ bounds: DraggableBounds | string | false,
+ defaultClassName: string,
+ defaultClassNameDragging: string,
+ defaultClassNameDragged: string,
+ defaultPosition: ControlPosition,
+ positionOffset: PositionOffsetControlPosition,
+ position: ControlPosition,
+ scale: number
+ };*/
+
+ var Draggable = function (_React$Component) {
+ inherits(Draggable, _React$Component);
+
+ function Draggable(props /*: DraggableProps*/) {
+ classCallCheck(this, Draggable);
+
+ var _this = possibleConstructorReturn(this, (Draggable.__proto__ || Object.getPrototypeOf(Draggable)).call(this, props));
+
+ _this.onDragStart = function (e, coreData) {
+
+ // Short-circuit if user's callback killed it.
+ var shouldStart = _this.props.onStart(e, createDraggableData(_this, coreData));
+ // Kills start event on core as well, so move handlers are never bound.
+ if (shouldStart === false) return false;
+
+ _this.setState({ dragging: true, dragged: true });
+ };
+
+ _this.onDrag = function (e, coreData) {
+ if (!_this.state.dragging) return false;
+
+ var uiData = createDraggableData(_this, coreData);
+
+ var newState /*: $Shape*/ = {
+ x: uiData.x,
+ y: uiData.y
+ };
+
+ // Keep within bounds.
+ if (_this.props.bounds) {
+ // Save original x and y.
+ var _x = newState.x,
+ _y = newState.y;
+
+ // Add slack to the values used to calculate bound position. This will ensure that if
+ // we start removing slack, the element won't react to it right away until it's been
+ // completely removed.
+
+ newState.x += _this.state.slackX;
+ newState.y += _this.state.slackY;
+
+ // Get bound position. This will ceil/floor the x and y within the boundaries.
+
+ var _getBoundPosition = getBoundPosition(_this, newState.x, newState.y),
+ _getBoundPosition2 = slicedToArray(_getBoundPosition, 2),
+ newStateX = _getBoundPosition2[0],
+ newStateY = _getBoundPosition2[1];
+
+ newState.x = newStateX;
+ newState.y = newStateY;
+
+ // Recalculate slack by noting how much was shaved by the boundPosition handler.
+ newState.slackX = _this.state.slackX + (_x - newState.x);
+ newState.slackY = _this.state.slackY + (_y - newState.y);
+
+ // Update the event we fire to reflect what really happened after bounds took effect.
+ uiData.x = newState.x;
+ uiData.y = newState.y;
+ uiData.deltaX = newState.x - _this.state.x;
+ uiData.deltaY = newState.y - _this.state.y;
+ }
+
+ // Short-circuit if user's callback killed it.
+ var shouldUpdate = _this.props.onDrag(e, uiData);
+ if (shouldUpdate === false) return false;
+
+ _this.setState(newState);
+ };
+
+ _this.onDragStop = function (e, coreData) {
+ if (!_this.state.dragging) return false;
+
+ // Short-circuit if user's callback killed it.
+ var shouldStop = _this.props.onStop(e, createDraggableData(_this, coreData));
+ if (shouldStop === false) return false;
+
+ var newState /*: $Shape*/ = {
+ dragging: false,
+ slackX: 0,
+ slackY: 0
+ };
+
+ // If this is a controlled component, the result of this operation will be to
+ // revert back to the old position. We expect a handler on `onDragStop`, at the least.
+ var controlled = Boolean(_this.props.position);
+ if (controlled) {
+ var _this$props$position = _this.props.position,
+ _x2 = _this$props$position.x,
+ _y2 = _this$props$position.y;
+
+ newState.x = _x2;
+ newState.y = _y2;
+ }
+
+ _this.setState(newState);
+ };
+
+ _this.state = {
+ // Whether or not we are currently dragging.
+ dragging: false,
+
+ // Whether or not we have been dragged before.
+ dragged: false,
+
+ // Current transform x and y.
+ x: props.position ? props.position.x : props.defaultPosition.x,
+ y: props.position ? props.position.y : props.defaultPosition.y,
+
+ // Used for compensating for out-of-bounds drags
+ slackX: 0, slackY: 0,
+
+ // Can only determine if SVG after mounting
+ isElementSVG: false
+ };
+
+ if (props.position && !(props.onDrag || props.onStop)) {
+ // eslint-disable-next-line no-console
+ console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');
+ }
+ return _this;
+ }
+
+ createClass(Draggable, [{
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ // Check to see if the element passed is an instanceof SVGElement
+ if (typeof window.SVGElement !== 'undefined' && ReactDOM.findDOMNode(this) instanceof window.SVGElement) {
+ this.setState({ isElementSVG: true });
+ }
+ }
+ }, {
+ key: 'componentWillReceiveProps',
+ value: function componentWillReceiveProps(nextProps /*: Object*/) {
+ // Set x/y if position has changed
+ if (nextProps.position && (!this.props.position || nextProps.position.x !== this.props.position.x || nextProps.position.y !== this.props.position.y)) {
+ this.setState({ x: nextProps.position.x, y: nextProps.position.y });
+ }
+ }
+ }, {
+ key: 'componentWillUnmount',
+ value: function componentWillUnmount() {
+ this.setState({ dragging: false }); // prevents invariant if unmounted while dragging
+ }
+ }, {
+ key: 'render',
+ value: function render() /*: ReactElement*/ {
+ var _classNames;
+
+ var style = {},
+ svgTransform = null;
+
+ // If this is controlled, we don't want to move it - unless it's dragging.
+ var controlled = Boolean(this.props.position);
+ var draggable = !controlled || this.state.dragging;
+
+ var position = this.props.position || this.props.defaultPosition;
+ var transformOpts = {
+ // Set left if horizontal drag is enabled
+ x: canDragX(this) && draggable ? this.state.x : position.x,
+
+ // Set top if vertical drag is enabled
+ y: canDragY(this) && draggable ? this.state.y : position.y
+ };
+
+ // If this element was SVG, we use the `transform` attribute.
+ if (this.state.isElementSVG) {
+ svgTransform = createSVGTransform(transformOpts, this.props.positionOffset);
+ } else {
+ // Add a CSS transform to move the element around. This allows us to move the element around
+ // without worrying about whether or not it is relatively or absolutely positioned.
+ // If the item you are dragging already has a transform set, wrap it in a so
+ // has a clean slate.
+ style = createCSSTransform(transformOpts, this.props.positionOffset);
+ }
+
+ var _props = this.props,
+ defaultClassName = _props.defaultClassName,
+ defaultClassNameDragging = _props.defaultClassNameDragging,
+ defaultClassNameDragged = _props.defaultClassNameDragged;
+
+
+ var children = React.Children.only(this.props.children);
+
+ // Mark with class while dragging
+ var className = classnames(children.props.className || '', defaultClassName, (_classNames = {}, defineProperty(_classNames, defaultClassNameDragging, this.state.dragging), defineProperty(_classNames, defaultClassNameDragged, this.state.dragged), _classNames));
+
+ // Reuse the child provided
+ // This makes it flexible to use whatever element is wanted (div, ul, etc)
+ return React.createElement(
+ DraggableCore,
+ _extends({}, this.props, { onStart: this.onDragStart, onDrag: this.onDrag, onStop: this.onDragStop }),
+ React.cloneElement(children, {
+ className: className,
+ style: _extends({}, children.props.style, style),
+ transform: svgTransform
+ })
+ );
+ }
+ }]);
+ return Draggable;
+ }(React.Component);
+
+ Draggable.displayName = 'Draggable';
+ Draggable.propTypes = _extends({}, DraggableCore.propTypes, {
+
+ /**
+ * `axis` determines which axis the draggable can move.
+ *
+ * Note that all callbacks will still return data as normal. This only
+ * controls flushing to the DOM.
+ *
+ * 'both' allows movement horizontally and vertically.
+ * 'x' limits movement to horizontal axis.
+ * 'y' limits movement to vertical axis.
+ * 'none' limits all movement.
+ *
+ * Defaults to 'both'.
+ */
+ axis: propTypes.oneOf(['both', 'x', 'y', 'none']),
+
+ /**
+ * `bounds` determines the range of movement available to the element.
+ * Available values are:
+ *
+ * 'parent' restricts movement within the Draggable's parent node.
+ *
+ * Alternatively, pass an object with the following properties, all of which are optional:
+ *
+ * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
+ *
+ * All values are in px.
+ *
+ * Example:
+ *
+ * ```jsx
+ * let App = React.createClass({
+ * render: function () {
+ * return (
+ *
+ * Content
+ *
+ * );
+ * }
+ * });
+ * ```
+ */
+ bounds: propTypes.oneOfType([propTypes.shape({
+ left: propTypes.number,
+ right: propTypes.number,
+ top: propTypes.number,
+ bottom: propTypes.number
+ }), propTypes.string, propTypes.oneOf([false])]),
+
+ defaultClassName: propTypes.string,
+ defaultClassNameDragging: propTypes.string,
+ defaultClassNameDragged: propTypes.string,
+
+ /**
+ * `defaultPosition` specifies the x and y that the dragged item should start at
+ *
+ * Example:
+ *
+ * ```jsx
+ * let App = React.createClass({
+ * render: function () {
+ * return (
+ *
+ * I start with transformX: 25px and transformY: 25px;
+ *
+ * );
+ * }
+ * });
+ * ```
+ */
+ defaultPosition: propTypes.shape({
+ x: propTypes.number,
+ y: propTypes.number
+ }),
+ positionOffset: propTypes.shape({
+ x: propTypes.oneOfType([propTypes.number, propTypes.string]),
+ y: propTypes.oneOfType([propTypes.number, propTypes.string])
+ }),
+
+ /**
+ * `position`, if present, defines the current position of the element.
+ *
+ * This is similar to how form elements in React work - if no `position` is supplied, the component
+ * is uncontrolled.
+ *
+ * Example:
+ *
+ * ```jsx
+ * let App = React.createClass({
+ * render: function () {
+ * return (
+ *
+ * I start with transformX: 25px and transformY: 25px;
+ *
+ * );
+ * }
+ * });
+ * ```
+ */
+ position: propTypes.shape({
+ x: propTypes.number,
+ y: propTypes.number
+ }),
+
+ /**
+ * These properties should be defined on the child, not here.
+ */
+ className: dontSetMe,
+ style: dontSetMe,
+ transform: dontSetMe
+ });
+ Draggable.defaultProps = _extends({}, DraggableCore.defaultProps, {
+ axis: 'both',
+ bounds: false,
+ defaultClassName: 'react-draggable',
+ defaultClassNameDragging: 'react-draggable-dragging',
+ defaultClassNameDragged: 'react-draggable-dragged',
+ defaultPosition: { x: 0, y: 0 },
+ position: null,
+ scale: 1
+ });
+
+ // Previous versions of this lib exported as the root export. As to not break
+ // them, or TypeScript, we export *both* as the root and as 'default'.
+ // See https://github.com/mzabriskie/react-draggable/pull/254
+ // and https://github.com/mzabriskie/react-draggable/issues/266
+ Draggable.default = Draggable;
+ Draggable.DraggableCore = DraggableCore;
+
+ return Draggable;
+
+ })));
+ //# sourceMappingURL=react-draggable.js.map
+
+
+ /***/ }),
+ /* 108 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.findInArray = findInArray;
+ exports.isFunction = isFunction;
+ exports.isNum = isNum;
+ exports.int = int;
+ exports.dontSetMe = dontSetMe;
+
+ // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
+ function findInArray(array
+ /*: Array | TouchList*/
+ , callback
+ /*: Function*/
+ )
+ /*: any*/
+ {
+ for (var i = 0, length = array.length; i < length; i++) {
+ if (callback.apply(callback, [array[i], i, array])) return array[i];
+ }
+ }
+
+ function isFunction(func
+ /*: any*/
+ )
+ /*: boolean %checks*/
+ {
+ return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
+ }
+
+ function isNum(num
+ /*: any*/
+ )
+ /*: boolean %checks*/
+ {
+ return typeof num === 'number' && !isNaN(num);
+ }
+
+ function int(a
+ /*: string*/
+ )
+ /*: number*/
+ {
+ return parseInt(a, 10);
+ }
+
+ function dontSetMe(props
+ /*: Object*/
+ , propName
+ /*: string*/
+ , componentName
+ /*: string*/
+ ) {
+ if (props[propName]) {
+ return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
+ }
+ }
+
+ /***/ }),
+ /* 109 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.Event = exports.EventUtil = exports.tryParseInt = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports.measureScrollbar = measureScrollbar;
+ exports.debounce = debounce;
+ exports.warningOnce = warningOnce;
+ exports.getOffset = getOffset;
+ exports.addClass = addClass;
+ exports.removeClass = removeClass;
+ exports.ObjectAssign = ObjectAssign;
+ exports.closest = closest;
+ exports.getMaxColChildrenLength = getMaxColChildrenLength;
+ exports.getColChildrenLength = getColChildrenLength;
+ exports.DicimalFormater = DicimalFormater;
+ exports.checkDicimalInvalid = checkDicimalInvalid;
+ exports.formatMoney = formatMoney;
+ exports.convertListToTree = convertListToTree;
+
+ var _warning = __webpack_require__(6);
+
+ var _warning2 = _interopRequireDefault(_warning);
+
+ var _parseInt = __webpack_require__(1261);
+
+ var _parseInt2 = _interopRequireDefault(_parseInt);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ var scrollbarSize = void 0;
+
+ // Measure scrollbar width for padding body during modal show/hide
+ var scrollbarMeasure = {
+ position: 'absolute',
+ top: '-9999px',
+ width: '50px',
+ height: '50px',
+ overflow: 'scroll'
+ };
+
+ function measureScrollbar() {
+ var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'vertical';
+
+
+ if (typeof document === 'undefined' || typeof window === 'undefined') {
+ return 0;
+ }
+ var tableDom = document.querySelector('.u-table');
+ var currentDom = tableDom ? tableDom : document.body;
+
+ if (scrollbarSize) {
+ return scrollbarSize;
+ }
+ var scrollDiv = document.createElement('div');
+ Object.keys(scrollbarMeasure).forEach(function (scrollProp) {
+ scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];
+ });
+ currentDom.appendChild(scrollDiv);
+ var size = 0;
+ if (direction === 'vertical') {
+ size = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ } else if (direction === 'horizontal') {
+ size = scrollDiv.offsetHeight - scrollDiv.clientHeight;
+ }
+
+ currentDom.removeChild(scrollDiv);
+ scrollbarSize = size;
+ return scrollbarSize;
+ }
+
+ function debounce(func, wait, immediate) {
+ var timeout = void 0;
+ return function debounceFunc() {
+ var context = this;
+ var args = arguments;
+ // https://fb.me/react-event-pooling
+ if (args[0] && args[0].persist) {
+ args[0].persist();
+ }
+ var later = function later() {
+ timeout = null;
+ if (!immediate) {
+ func.apply(context, args);
+ }
+ };
+ var callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) {
+ func.apply(context, args);
+ }
+ };
+ }
+
+ var warned = {};
+ function warningOnce(condition, format, args) {
+ if (!warned[format]) {
+ (0, _warning2["default"])(condition, format, args);
+ warned[format] = true;
+ }
+ }
+ function getOffset(Node, offset) {
+ if (!offset) {
+ offset = {};
+ offset.top = 0;
+ offset.left = 0;
+ }
+ if (Node == document.body) {
+ return offset;
+ }
+ offset.top += Node.offsetTop;
+ offset.left += Node.offsetLeft;
+ if (Node.offsetParent) return getOffset(Node.offsetParent, offset);else return offset;
+ };
+
+ var tryParseInt = exports.tryParseInt = function tryParseInt(value) {
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+
+ var resultValue = (0, _parseInt2["default"])(value);
+
+ if (isNaN(resultValue)) {
+ return defaultValue;
+ }
+ return resultValue;
+ };
+
+ function addClass(elm, className) {
+ if (!className) return;
+
+ var els = Array.isArray(elm) ? elm : [elm];
+
+ els.forEach(function (el) {
+ if (el.classList) {
+ el.classList.add(className.split(' '));
+ } else {
+ el.className += ' ' + className;
+ }
+ });
+ }
+
+ function removeClass(elm, className) {
+ if (!className) return;
+
+ var els = Array.isArray(elm) ? elm : [elm];
+
+ els.forEach(function (el) {
+ if (el.classList) {
+ el.classList.remove(className.split(' '));
+ } else {
+ el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
+ }
+ });
+ }
+
+ /**
+ * 简单数组数据对象拷贝
+ * @param {*} obj 要拷贝的对象
+ */
+ function ObjectAssign(obj) {
+ var b = obj instanceof Array;
+ var tagObj = b ? [] : {};
+ if (b) {
+ //数组
+ obj.forEach(function (da) {
+ var _da = {};
+ _extends(_da, da);
+ tagObj.push(_da);
+ });
+ } else {
+ _extends(tagObj, obj);
+ }
+ return tagObj;
+ }
+ /**
+ * 获取某个父元素
+ * */
+
+ function closest(ele, selector) {
+ var matches = ele.matches || ele.webkitMatchesSelector || ele.mozMatchesSelector || ele.msMatchesSelector;
+ if (matches) {
+ while (ele) {
+ if (matches.call(ele, selector)) {
+ return ele;
+ } else {
+ ele = ele.parentElement;
+ }
+ }
+ }
+ return null;
+ }
+
+ function getMaxColChildrenLength(columns) {
+ var arr = [];
+ arr = columns.map(function (item, index) {
+ var chilrenLen = 0;
+ if (item.children) {
+ chilrenLen = getColChildrenLength(item.children, chilrenLen + 1);
+ }
+ return chilrenLen;
+ });
+ var max = Math.max.apply(null, arr);
+ return max;
+ }
+
+ function getColChildrenLength(columns, chilrenLen) {
+ columns.forEach(function (item, index) {
+ if (item.children) {
+ chilrenLen = getColChildrenLength(item.children, chilrenLen + 1);
+ }
+ });
+ return chilrenLen;
+ }
+
+ function addHandler(element, type, handler) {
+ var event = null;
+ if (element.addEventListener) {
+ //检测是否为DOM2级方法
+ event = element.addEventListener(type, handler, false);
+ } else if (element.attachEvent) {
+ //检测是否为IE级方法
+ event = element.attachEvent("on" + type, handler);
+ } else {
+ //检测是否为DOM0级方法
+ event = element["on" + type] = handler;
+ }
+ return event;
+ }
+
+ function removeHandler(element, type, handler) {
+ if (element && element.removeEventListener) {
+ //element&& ie11报错兼容
+ element.removeEventListener(type, handler, false);
+ } else if (element && element.detachEvent) {
+ element.detachEvent("on" + type, handler);
+ } else if (element) {
+ element["on" + type] = null;
+ }
+ }
+
+ //获取事件对象的兼容性写法
+ function getEvent(event) {
+ return event ? event : window.event;
+ }
+
+ //获取事件对象目标的兼容性写法
+ function getTarget(event) {
+ return event.target || event.srcElement;
+ }
+
+ function preventDefault(event) {
+ if (event.preventDefault) {
+ event.preventDefault();
+ } else {
+ event.returnValue = false;
+ }
+ }
+
+ function stopPropagation(event) {
+ if (event.stopPropagation) {
+ event.stopPropagation();
+ } else {
+ event.cancelBubble = true;
+ }
+ }
+
+ //用事件冒泡方式,如果想兼容事件捕获只需要添加个bool参数
+ var EventUtil = exports.EventUtil = {
+ addHandler: function addHandler(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else if (element.attachEvent) {
+ element.attachEvent('on' + type, handler);
+ } else {
+ element['on' + type] = handler;
+ }
+ },
+
+ removeHandler: function removeHandler(element, type, handler) {
+ //element&& ie11报错兼容
+ if (element && element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else if (element && element.detachEvent) {
+ element.detachEvent('on' + type, handler);
+ } else if (element) {
+ element['on' + type] = null;
+ }
+ }
+
+ /*
+ * 处理精度
+ */
+ };function DicimalFormater(value, precision) {
+ var value = value + '',
+ precision = precision ? precision : 0;
+ for (var i = 0; i < value.length; i++) {
+ if ("-0123456789.".indexOf(value.charAt(i)) == -1) return "";
+ }
+ return checkDicimalInvalid(value, precision);
+ };
+ function checkDicimalInvalid(value, precision) {
+ if (value == null || isNaN(value)) return "";
+ // 浮点数总位数不能超过10位
+ var digit = parseFloat(value);
+ var result = (digit * Math.pow(10, precision) / Math.pow(10, precision)).toFixed(precision);
+ if (result == "NaN") return "";
+ return result;
+ };
+
+ /**
+ * 将数值转化为货币类型
+ * @param {*} number 数值
+ * @param {*} places 精度
+ * @param {*} thousand 是否展示千分位
+ */
+ function formatMoney(number, places, thousand) {
+ number = number || 0;
+ places = !isNaN(places = Math.abs(places)) ? places : 2;
+ var thousandSymbol = thousand ? "," : '';
+ var negative = number < 0 ? "-" : "";
+ var i = (0, _parseInt2["default"])(number = Math.abs(+number || 0).toFixed(places), 10) + "";
+ var j = (j = i.length) > 3 ? j % 3 : 0;
+ return negative + (j ? i.substr(0, j) + thousandSymbol : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousandSymbol) + (places ? '.' + Math.abs(number - i).toFixed(places).slice(2) : "");
+ }
+
+ var Event = exports.Event = {
+ addHandler: addHandler,
+ removeHandler: removeHandler,
+ getEvent: getEvent,
+ getTarget: getTarget,
+ preventDefault: preventDefault,
+ stopPropagation: stopPropagation
+
+ /**
+ * 将一维数组转换为树结构
+ * @param {*} treeData 扁平结构的 List 数组
+ * @param {*} attr 属性配置设置
+ * @param {*} flatTreeKeysMap 存储所有 key-value 的映射,方便获取各节点信息
+ */
+ };function convertListToTree(treeData, attr, flatTreeKeysMap) {
+ var tree = []; //存储所有一级节点
+ var resData = treeData,
+ //resData 存储截取的节点 + 父节点(除一级节点外)
+ resKeysMap = {},
+ //resData 的Map映射
+ treeKeysMap = {}; //tree 的Map映射
+ resData.map(function (element) {
+ var key = attr.id;
+ resKeysMap[element[key]] = element;
+ });
+ // 查找父节点,为了补充不完整的数据结构
+ var findParentNode = function findParentNode(node) {
+ var parentKey = node[attr.parendId];
+ if (parentKey !== attr.rootId) {
+ //如果不是根节点,则继续递归
+ var item = flatTreeKeysMap[parentKey];
+ // 用 resKeysMap 判断,避免重复计算某节点的父节点
+ if (resKeysMap.hasOwnProperty(item[attr.id])) return;
+ resData.unshift(item);
+ resKeysMap[item[attr.id]] = item;
+ findParentNode(item);
+ } else {
+ // 用 treeKeysMap 判断,避免重复累加
+ if (!treeKeysMap.hasOwnProperty(node[attr.id])) {
+ var key = node.key,
+ title = node.title,
+ children = node.children,
+ _isLeaf = node._isLeaf,
+ otherProps = _objectWithoutProperties(node, ['key', 'title', 'children', '_isLeaf']);
+
+ var obj = {
+ key: key,
+ title: title,
+ _isLeaf: _isLeaf,
+ children: []
+ };
+ tree.push(_extends(obj, _extends({}, otherProps)));
+ treeKeysMap[key] = node;
+ }
+ }
+ };
+ // 遍历 resData ,找到所有的一级节点
+ for (var i = 0; i < resData.length; i++) {
+ var item = resData[i];
+ if (item[attr.parendId] === attr.rootId && !treeKeysMap.hasOwnProperty(item[attr.id])) {
+ //如果是根节点,就存放进 tree 对象中
+ var key = item.key,
+ title = item.title,
+ children = item.children,
+ otherProps = _objectWithoutProperties(item, ['key', 'title', 'children']);
+
+ var obj = {
+ key: item[attr.id],
+ _isLeaf: item[attr._isLeaf],
+ children: []
+ };
+ tree.push(_extends(obj, _extends({}, otherProps)));
+ treeKeysMap[key] = item;
+ resData.splice(i, 1);
+ i--;
+ } else {
+ //递归查找根节点信息
+ findParentNode(item);
+ }
+ }
+ // console.log('resData',resKeysMap);
+ var run = function run(treeArrs) {
+ if (resData.length > 0) {
+ for (var _i = 0; _i < treeArrs.length; _i++) {
+ for (var j = 0; j < resData.length; j++) {
+ var _item = resData[j];
+ if (treeArrs[_i].key === _item[attr.parendId]) {
+ var _key = _item.key,
+ _title = _item.title,
+ _children = _item.children,
+ _otherProps = _objectWithoutProperties(_item, ['key', 'title', 'children']);
+
+ var _obj = {
+ key: _item[attr.id],
+ _isLeaf: _item[attr._isLeaf],
+ children: []
+ };
+ treeArrs[_i].children.push(_extends(_obj, _extends({}, _otherProps)));
+ resData.splice(j, 1);
+ j--;
+ }
+ }
+ run(treeArrs[_i].children);
+ }
+ }
+ };
+ run(tree);
+ return tree;
+ }
+
+ /***/ }),
+ /* 110 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Chinese (China) [zh-cn]
+ //! author : suupic : https://github.com/suupic
+ //! author : Zeno Zeng : https://github.com/zenozeng
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var zhCn = moment.defineLocale('zh-cn', {
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
+ '_'
+ ),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
+ '_'
+ ),
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日Ah点mm分',
+ LLLL: 'YYYY年M月D日ddddAh点mm分',
+ l: 'YYYY/M/D',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日dddd HH:mm',
+ },
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+ return hour;
+ } else if (meridiem === '下午' || meridiem === '晚上') {
+ return hour + 12;
+ } else {
+ // '中午'
+ return hour >= 11 ? hour : hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 600) {
+ return '凌晨';
+ } else if (hm < 900) {
+ return '早上';
+ } else if (hm < 1130) {
+ return '上午';
+ } else if (hm < 1230) {
+ return '中午';
+ } else if (hm < 1800) {
+ return '下午';
+ } else {
+ return '晚上';
+ }
+ },
+ calendar: {
+ sameDay: '[今天]LT',
+ nextDay: '[明天]LT',
+ nextWeek: '[下]ddddLT',
+ lastDay: '[昨天]LT',
+ lastWeek: '[上]ddddLT',
+ sameElse: 'L',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '日';
+ case 'M':
+ return number + '月';
+ case 'w':
+ case 'W':
+ return number + '周';
+ default:
+ return number;
+ }
+ },
+ relativeTime: {
+ future: '%s后',
+ past: '%s前',
+ s: '几秒',
+ ss: '%d 秒',
+ m: '1 分钟',
+ mm: '%d 分钟',
+ h: '1 小时',
+ hh: '%d 小时',
+ d: '1 天',
+ dd: '%d 天',
+ M: '1 个月',
+ MM: '%d 个月',
+ y: '1 年',
+ yy: '%d 年',
+ },
+ week: {
+ // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return zhCn;
+
+ })));
+
+
+ /***/ }),
+ /* 111 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Icon = __webpack_require__(1309);
+
+ var _Icon2 = _interopRequireDefault(_Icon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Icon2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 112 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (componentOrElement) {
+ return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
+ };
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 113 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Icon = __webpack_require__(1422);
+
+ var _Icon2 = _interopRequireDefault(_Icon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Icon2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 114 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (componentOrElement) {
+ return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
+ };
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 115 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1487);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1488);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1489);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1490);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1491);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1492);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1493);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(501);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1494);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(504);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1495);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1497);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1498);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 116 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (componentOrElement) {
+ return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
+ };
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _ownerDocument = __webpack_require__(117);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 117 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = ownerDocument;
+
+ function ownerDocument(node) {
+ return node && node.ownerDocument || document;
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 118 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1531);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1532);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1533);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1534);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(511);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(507);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(506);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1535);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1536);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(512);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1537);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1539);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1540);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 119 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = toArray;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_is__ = __webpack_require__(135);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_is___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_is__);
+
+
+ function toArray(children) {
+ var ret = [];
+ __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (child) {
+ if (child === undefined || child === null) {
+ return;
+ }
+
+ if (Array.isArray(child)) {
+ ret = ret.concat(toArray(child));
+ } else if (Object(__WEBPACK_IMPORTED_MODULE_1_react_is__["isFragment"])(child) && child.props) {
+ ret = ret.concat(toArray(child.props.children));
+ } else {
+ ret.push(child);
+ }
+ });
+ return ret;
+ }
+
+ /***/ }),
+ /* 120 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // optional / simple context binding
+ var aFunction = __webpack_require__(581);
+ module.exports = function (fn, that, length) {
+ aFunction(fn);
+ if (that === undefined) return fn;
+ switch (length) {
+ case 1: return function (a) {
+ return fn.call(that, a);
+ };
+ case 2: return function (a, b) {
+ return fn.call(that, a, b);
+ };
+ case 3: return function (a, b, c) {
+ return fn.call(that, a, b, c);
+ };
+ }
+ return function (/* ...args */) {
+ return fn.apply(that, arguments);
+ };
+ };
+
+
+ /***/ }),
+ /* 121 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // 7.1.1 ToPrimitive(input [, PreferredType])
+ var isObject = __webpack_require__(52);
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
+ // and the second argument - flag - preferred type is a string
+ module.exports = function (it, S) {
+ if (!isObject(it)) return it;
+ var fn, val;
+ if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
+ if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
+ if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
+ throw TypeError("Can't convert object to primitive value");
+ };
+
+
+ /***/ }),
+ /* 122 */
+ /***/ (function(module, exports) {
+
+ var toString = {}.toString;
+
+ module.exports = function (it) {
+ return toString.call(it).slice(8, -1);
+ };
+
+
+ /***/ }),
+ /* 123 */
+ /***/ (function(module, exports) {
+
+ // 7.2.1 RequireObjectCoercible(argument)
+ module.exports = function (it) {
+ if (it == undefined) throw TypeError("Can't call method on " + it);
+ return it;
+ };
+
+
+ /***/ }),
+ /* 124 */
+ /***/ (function(module, exports) {
+
+ // 7.1.4 ToInteger
+ var ceil = Math.ceil;
+ var floor = Math.floor;
+ module.exports = function (it) {
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
+ };
+
+
+ /***/ }),
+ /* 125 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var shared = __webpack_require__(126)('keys');
+ var uid = __webpack_require__(88);
+ module.exports = function (key) {
+ return shared[key] || (shared[key] = uid(key));
+ };
+
+
+ /***/ }),
+ /* 126 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var core = __webpack_require__(24);
+ var global = __webpack_require__(39);
+ var SHARED = '__core-js_shared__';
+ var store = global[SHARED] || (global[SHARED] = {});
+
+ (module.exports = function (key, value) {
+ return store[key] || (store[key] = value !== undefined ? value : {});
+ })('versions', []).push({
+ version: core.version,
+ mode: __webpack_require__(87) ? 'pure' : 'global',
+ copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
+ });
+
+
+ /***/ }),
+ /* 127 */
+ /***/ (function(module, exports) {
+
+ // IE 8- don't enum bug keys
+ module.exports = (
+ 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
+ ).split(',');
+
+
+ /***/ }),
+ /* 128 */
+ /***/ (function(module, exports) {
+
+ exports.f = Object.getOwnPropertySymbols;
+
+
+ /***/ }),
+ /* 129 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+ var anObject = __webpack_require__(51);
+ var dPs = __webpack_require__(592);
+ var enumBugKeys = __webpack_require__(127);
+ var IE_PROTO = __webpack_require__(125)('IE_PROTO');
+ var Empty = function () { /* empty */ };
+ var PROTOTYPE = 'prototype';
+
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
+ var createDict = function () {
+ // Thrash, waste and sodomy: IE GC bug
+ var iframe = __webpack_require__(217)('iframe');
+ var i = enumBugKeys.length;
+ var lt = '<';
+ var gt = '>';
+ var iframeDocument;
+ iframe.style.display = 'none';
+ __webpack_require__(593).appendChild(iframe);
+ iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+ // createDict = iframe.contentWindow.Object;
+ // html.removeChild(iframe);
+ iframeDocument = iframe.contentWindow.document;
+ iframeDocument.open();
+ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+ iframeDocument.close();
+ createDict = iframeDocument.F;
+ while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+ return createDict();
+ };
+
+ module.exports = Object.create || function create(O, Properties) {
+ var result;
+ if (O !== null) {
+ Empty[PROTOTYPE] = anObject(O);
+ result = new Empty();
+ Empty[PROTOTYPE] = null;
+ // add "__proto__" for Object.getPrototypeOf polyfill
+ result[IE_PROTO] = O;
+ } else result = createDict();
+ return Properties === undefined ? result : dPs(result, Properties);
+ };
+
+
+ /***/ }),
+ /* 130 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var def = __webpack_require__(40).f;
+ var has = __webpack_require__(47);
+ var TAG = __webpack_require__(29)('toStringTag');
+
+ module.exports = function (it, tag, stat) {
+ if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+ };
+
+
+ /***/ }),
+ /* 131 */
+ /***/ (function(module, exports) {
+
+ /**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(document.body.children);
+ * // => false
+ *
+ * _.isArray('abc');
+ * // => false
+ *
+ * _.isArray(_.noop);
+ * // => false
+ */
+ var isArray = Array.isArray;
+
+ module.exports = isArray;
+
+
+ /***/ }),
+ /* 132 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var root = __webpack_require__(70);
+
+ /** Built-in value references. */
+ var Symbol = root.Symbol;
+
+ module.exports = Symbol;
+
+
+ /***/ }),
+ /* 133 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var baseIsNative = __webpack_require__(643),
+ getValue = __webpack_require__(648);
+
+ /**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */
+ function getNative(object, key) {
+ var value = getValue(object, key);
+ return baseIsNative(value) ? value : undefined;
+ }
+
+ module.exports = getNative;
+
+
+ /***/ }),
+ /* 134 */
+ /***/ (function(module, exports) {
+
+ /**
+ * Performs a
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * comparison between two values to determine if they are equivalent.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ * var other = { 'a': 1 };
+ *
+ * _.eq(object, object);
+ * // => true
+ *
+ * _.eq(object, other);
+ * // => false
+ *
+ * _.eq('a', 'a');
+ * // => true
+ *
+ * _.eq('a', Object('a'));
+ * // => false
+ *
+ * _.eq(NaN, NaN);
+ * // => true
+ */
+ function eq(value, other) {
+ return value === other || (value !== value && other !== other);
+ }
+
+ module.exports = eq;
+
+
+ /***/ }),
+ /* 135 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ if (process.env.NODE_ENV === 'production') {
+ module.exports = __webpack_require__(673);
+ } else {
+ module.exports = __webpack_require__(674);
+ }
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 136 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 137 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Select = __webpack_require__(738);
+
+ var _Select2 = _interopRequireDefault(_Select);
+
+ var _Option = __webpack_require__(146);
+
+ var _Option2 = _interopRequireDefault(_Option);
+
+ var _PropTypes = __webpack_require__(268);
+
+ var _OptGroup = __webpack_require__(269);
+
+ var _OptGroup2 = _interopRequireDefault(_OptGroup);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ _Select2["default"].Option = _Option2["default"];
+ _Select2["default"].OptGroup = _OptGroup2["default"];
+ exports["default"] = _Select2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 138 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 139 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 140 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _iterator = __webpack_require__(771);
+
+ var _iterator2 = _interopRequireDefault(_iterator);
+
+ var _symbol = __webpack_require__(777);
+
+ var _symbol2 = _interopRequireDefault(_symbol);
+
+ var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
+ return typeof obj === "undefined" ? "undefined" : _typeof(obj);
+ } : function (obj) {
+ return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
+ };
+
+ /***/ }),
+ /* 141 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ exports.f = __webpack_require__(29);
+
+
+ /***/ }),
+ /* 142 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var global = __webpack_require__(39);
+ var core = __webpack_require__(24);
+ var LIBRARY = __webpack_require__(87);
+ var wksExt = __webpack_require__(141);
+ var defineProperty = __webpack_require__(40).f;
+ module.exports = function (name) {
+ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
+ if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
+ };
+
+
+ /***/ }),
+ /* 143 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = contains;
+ function contains(root, n) {
+ var node = n;
+
+ while (node) {
+ if (node === root) {
+ return true;
+ }
+
+ node = node.parentNode;
+ }
+
+ return false;
+ }
+
+ /***/ }),
+ /* 144 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = addEventListenerWrap;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_add_dom_event_listener__ = __webpack_require__(12);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_add_dom_event_listener___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_add_dom_event_listener__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);
+
+
+ function addEventListenerWrap(target, eventType, cb, option) {
+ /* eslint camelcase: 2 */
+ var callback = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unstable_batchedUpdates ? function run(e) {
+ __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return __WEBPACK_IMPORTED_MODULE_0_add_dom_event_listener___default()(target, eventType, callback, option);
+ }
+
+ /***/ }),
+ /* 145 */
+ /***/ (function(module, exports) {
+
+ // mutationobserver-shim v0.3.3 (github.com/megawac/MutationObserver.js)
+ // Authors: Graeme Yeates (github.com/megawac)
+ /*
+ Shim for MutationObserver interface
+ Author: Graeme Yeates (github.com/megawac)
+ Repository: https://github.com/megawac/MutationObserver.js
+ License: WTFPL V2, 2004 (wtfpl.net).
+ Though credit and staring the repo will make me feel pretty, you can modify and redistribute as you please.
+ Attempts to follow spec (https://www.w3.org/TR/dom/#mutation-observers) as closely as possible for native javascript
+ See https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/MutationObserver.cpp for current webkit source c++ implementation
+ */
+ window.MutationObserver||(window.MutationObserver=function(y){function z(a){this.i=[];this.m=a}function K(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,z._period)})()}function r(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==y&&a[c]!==y&&(b[c]=a[c]);return b}function L(a,b){var c=E(a,b);return function(d){var f=d.length;b.a&&3===a.nodeType&&
+ a.nodeValue!==c.a&&d.push(new r({type:"characterData",target:a,oldValue:c.a}));b.b&&c.b&&C(d,a,c.b,b.f);if(b.c||b.g)var m=M(d,a,c,b);if(m||d.length!==f)c=E(a,b)}}function N(a,b){return b.value}function O(a,b){return"style"!==b.name?b.value:a.style.cssText}function C(a,b,c,d){for(var f={},m=b.attributes,k,g,p=m.length;p--;)k=m[p],g=k.name,d&&d[g]===y||(F(b,k)!==c[g]&&a.push(r({type:"attributes",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(r({target:b,
+ type:"attributes",attributeName:g,oldValue:c[g]}))}function M(a,b,c,d){function f(g,p,t,q,x){var A=g.length-1;x=-~((A-x)/2);for(var h,l,e;e=g.pop();)h=t[e.j],l=q[e.l],d.c&&x&&Math.abs(e.j-e.l)>=A&&(a.push(r({type:"childList",target:p,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),x--),d.b&&l.b&&C(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(r({type:"characterData",target:h,oldValue:l.a})),d.g&&m(h,l)}function m(g,p){for(var t=g.childNodes,
+ q=p.c,x=t.length,A=q?q.length:0,h,l,e,n,v,B=0,w=0,u=0;w 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ function splitBySeparators(string, separators) {
+ var reg = new RegExp('[' + separators.join() + ']');
+ return string.split(reg).filter(function (token) {
+ return token;
+ });
+ }
+
+ function defaultFilterFn(input, child) {
+ if (child.props.disabled) {
+ return false;
+ }
+ var value = toArray(getPropValue(child, this.props.optionFilterProp)).join('');
+ return value.toLowerCase().indexOf(input.toLowerCase()) > -1;
+ }
+
+ function validateOptionValue(value, props) {
+ if (isSingleMode(props) || isMultiple(props)) {
+ return;
+ }
+ if (typeof value !== 'string') {
+ throw new Error('Invalid `value` of type `' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + '` supplied to Option, ' + 'expected `string` when `tags/combobox` is `true`.');
+ }
+ }
+
+ function saveRef(instance, name) {
+ return function (node) {
+ instance[name] = node;
+ };
+ }
+
+ /***/ }),
+ /* 148 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ module.exports = __webpack_require__(815);
+
+ /***/ }),
+ /* 149 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 150 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 151 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Dropdown = __webpack_require__(893);
+
+ var _Dropdown2 = _interopRequireDefault(_Dropdown);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Dropdown2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 152 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _properties = __webpack_require__(27);
+
+ var _properties2 = _interopRequireDefault(_properties);
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _classnames = __webpack_require__(37);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var transitionEndEvent = _properties2["default"].end;
+
+ //设置状态码
+ var UNMOUNTED = exports.UNMOUNTED = 0;
+ var EXITED = exports.EXITED = 1;
+ var ENTERING = exports.ENTERING = 2;
+ var ENTERED = exports.ENTERED = 3;
+ var EXITING = exports.EXITING = 4;
+
+ var propTypes = {
+ /**
+ * 是否触发动画
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * 不显示的时候是否移除组件
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * 如果设置为默认显示,挂载时显示动画
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * 设置超时时间,防止出现问题,可设置为>=动画时间
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * 退出组件时添加的class
+ */
+ exitedClassName: _propTypes2["default"].string,
+ /**
+ * 退出组件中添加的class
+ */
+ exitingClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画后添加的class
+ */
+ enteredClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画时添加的class
+ */
+ enteringClassName: _propTypes2["default"].string,
+
+ /**
+ * 进入动画开始时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * 进入动画中的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * 进入动画后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * 退出动画开始时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * 退出动画中的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * 退出动画后的钩子函数
+ */
+ onExited: _propTypes2["default"].func
+ };
+
+ function noop() {}
+
+ var defaultProps = {
+ "in": false,
+ unmountOnExit: false,
+ transitionAppear: false,
+ timeout: 5000,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+
+ /**
+ * 动画组件
+ */
+
+ var Transition = function (_Component) {
+ _inherits(Transition, _Component);
+
+ function Transition(props, context) {
+ _classCallCheck(this, Transition);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
+
+ var initialStatus = void 0;
+ if (props["in"]) {
+ // 在componentdidmount时开始执行动画
+ initialStatus = props.transitionAppear ? EXITED : ENTERED;
+ } else {
+ initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
+ }
+ _this.state = { status: initialStatus };
+
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ Transition.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.transitionAppear && this.props["in"]) {
+ this.performEnter(this.props);
+ }
+ };
+
+ Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps["in"] && this.props.unmountOnExit) {
+ if (this.state.status === UNMOUNTED) {
+ // 在componentDidUpdate执行动画.
+ this.setState({ status: EXITED });
+ }
+ } else {
+ this._needsUpdate = true;
+ }
+ };
+
+ Transition.prototype.componentDidUpdate = function componentDidUpdate() {
+ var status = this.state.status;
+
+ if (this.props.unmountOnExit && status === EXITED) {
+ // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
+ if (this.props["in"]) {
+ this.performEnter(this.props);
+ } else {
+ this.setState({ status: UNMOUNTED });
+ }
+
+ return;
+ }
+
+ // 确保只响应prop变化
+ if (this._needsUpdate) {
+ this._needsUpdate = false;
+
+ if (this.props["in"]) {
+ if (status === EXITING) {
+ this.performEnter(this.props);
+ } else if (status === EXITED) {
+ this.performEnter(this.props);
+ }
+ // 其他,当我们已经输入或输出
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ this.performExit(this.props);
+ }
+ // 我们已经输入或输出完成
+ }
+ }
+ };
+
+ Transition.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ Transition.prototype.performEnter = function performEnter(props) {
+ var _this2 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ // 这里接收新props
+ props.onEnter(node);
+
+ this.safeSetState({ status: ENTERING }, function () {
+ _this2.props.onEntering(node);
+
+ _this2.onTransitionEnd(node, function () {
+ _this2.safeSetState({ status: ENTERED }, function () {
+ _this2.props.onEntered(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.performExit = function performExit(props) {
+ var _this3 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ props.onExit(node);
+
+ this.safeSetState({ status: EXITING }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, function () {
+ _this3.safeSetState({ status: EXITED }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
+ // 确保在组件销毁后挂起的setState被消除
+ this.setState(nextState, this.setNextCallback(callback));
+ };
+
+ Transition.prototype.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
+ this.setNextCallback(handler);
+
+ if (node) {
+ if (transitionEndEvent == undefined) {
+ this.nextCallback();
+ } else {
+ (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
+ }
+ setTimeout(this.nextCallback, this.props.timeout);
+ } else {
+ setTimeout(this.nextCallback, 0);
+ }
+ };
+
+ Transition.prototype.render = function render() {
+ var status = this.state.status;
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _props = this.props,
+ children = _props.children,
+ className = _props.className,
+ childProps = _objectWithoutProperties(_props, ['children', 'className']);
+
+ Object.keys(Transition.propTypes).forEach(function (key) {
+ return delete childProps[key];
+ });
+
+ var transitionClassName = void 0;
+ if (status === EXITED) {
+ transitionClassName = this.props.exitedClassName;
+ } else if (status === ENTERING) {
+ transitionClassName = this.props.enteringClassName;
+ } else if (status === ENTERED) {
+ transitionClassName = this.props.enteredClassName;
+ } else if (status === EXITING) {
+ transitionClassName = this.props.exitingClassName;
+ }
+
+ var child = _react2["default"].Children.only(children);
+ return _react2["default"].cloneElement(child, _extends({}, childProps, {
+ className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
+ }));
+ };
+
+ return Transition;
+ }(_react.Component);
+
+ Transition.propTypes = propTypes;
+
+ Transition.defaultProps = defaultProps;
+
+ exports["default"] = Transition;
+
+ /***/ }),
+ /* 153 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(900);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(901);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(902);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(904);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(905);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(906);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(279);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(907);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(908);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(280);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(909);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(911);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(912);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 154 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 155 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _properties = __webpack_require__(27);
+
+ var _properties2 = _interopRequireDefault(_properties);
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var transitionEndEvent = _properties2["default"].end;
+
+ //设置状态码
+ var UNMOUNTED = exports.UNMOUNTED = 0;
+ var EXITED = exports.EXITED = 1;
+ var ENTERING = exports.ENTERING = 2;
+ var ENTERED = exports.ENTERED = 3;
+ var EXITING = exports.EXITING = 4;
+
+ var propTypes = {
+ /**
+ * 是否触发动画
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * 不显示的时候是否移除组件
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * 如果设置为默认显示,挂载时显示动画
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * 设置超时时间,防止出现问题,可设置为>=动画时间
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * 退出组件时添加的class
+ */
+ exitedClassName: _propTypes2["default"].string,
+ /**
+ * 退出组件中添加的class
+ */
+ exitingClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画后添加的class
+ */
+ enteredClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画时添加的class
+ */
+ enteringClassName: _propTypes2["default"].string,
+
+ /**
+ * 进入动画开始时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * 进入动画中的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * 进入动画后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * 退出动画开始时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * 退出动画中的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * 退出动画后的钩子函数
+ */
+ onExited: _propTypes2["default"].func
+ };
+
+ function noop() {}
+
+ var defaultProps = {
+ "in": false,
+ unmountOnExit: false,
+ transitionAppear: false,
+ timeout: 5000,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+
+ /**
+ * 动画组件
+ */
+
+ var Transition = function (_Component) {
+ _inherits(Transition, _Component);
+
+ function Transition(props, context) {
+ _classCallCheck(this, Transition);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
+
+ var initialStatus = void 0;
+ if (props["in"]) {
+ // 在componentdidmount时开始执行动画
+ initialStatus = props.transitionAppear ? EXITED : ENTERED;
+ } else {
+ initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
+ }
+ _this.state = { status: initialStatus };
+
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ Transition.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.transitionAppear && this.props["in"]) {
+ this.performEnter(this.props);
+ }
+ };
+
+ Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps["in"] && this.props.unmountOnExit) {
+ if (this.state.status === UNMOUNTED) {
+ // 在componentDidUpdate执行动画.
+ this.setState({ status: EXITED });
+ }
+ } else {
+ this._needsUpdate = true;
+ }
+ };
+
+ Transition.prototype.componentDidUpdate = function componentDidUpdate() {
+ var status = this.state.status;
+
+ if (this.props.unmountOnExit && status === EXITED) {
+ // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
+ if (this.props["in"]) {
+ this.performEnter(this.props);
+ } else {
+ this.setState({ status: UNMOUNTED });
+ }
+
+ return;
+ }
+
+ // 确保只响应prop变化
+ if (this._needsUpdate) {
+ this._needsUpdate = false;
+
+ if (this.props["in"]) {
+ if (status === EXITING) {
+ this.performEnter(this.props);
+ } else if (status === EXITED) {
+ this.performEnter(this.props);
+ }
+ // 其他,当我们已经输入或输出
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ this.performExit(this.props);
+ }
+ // 我们已经输入或输出完成
+ }
+ }
+ };
+
+ Transition.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ Transition.prototype.performEnter = function performEnter(props) {
+ var _this2 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ // 这里接收新props
+ props.onEnter(node);
+
+ this.safeSetState({ status: ENTERING }, function () {
+ _this2.props.onEntering(node);
+
+ _this2.onTransitionEnd(node, function () {
+ _this2.safeSetState({ status: ENTERED }, function () {
+ _this2.props.onEntered(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.performExit = function performExit(props) {
+ var _this3 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ props.onExit(node);
+
+ this.safeSetState({ status: EXITING }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, function () {
+ _this3.safeSetState({ status: EXITED }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
+ // 确保在组件销毁后挂起的setState被消除
+ this.setState(nextState, this.setNextCallback(callback));
+ };
+
+ Transition.prototype.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
+ this.setNextCallback(handler);
+
+ if (node) {
+ if (transitionEndEvent == undefined) {
+ this.nextCallback();
+ } else {
+ (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
+ }
+ setTimeout(this.nextCallback, this.props.timeout);
+ } else {
+ setTimeout(this.nextCallback, 0);
+ }
+ };
+
+ Transition.prototype.render = function render() {
+ var status = this.state.status;
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _props = this.props,
+ children = _props.children,
+ className = _props.className,
+ childProps = _objectWithoutProperties(_props, ['children', 'className']);
+
+ Object.keys(Transition.propTypes).forEach(function (key) {
+ return delete childProps[key];
+ });
+
+ var transitionClassName = void 0;
+ if (status === EXITED) {
+ transitionClassName = this.props.exitedClassName;
+ } else if (status === ENTERING) {
+ transitionClassName = this.props.enteringClassName;
+ } else if (status === ENTERED) {
+ transitionClassName = this.props.enteredClassName;
+ } else if (status === EXITING) {
+ transitionClassName = this.props.exitingClassName;
+ }
+
+ var child = _react2["default"].Children.only(children);
+ return _react2["default"].cloneElement(child, _extends({}, childProps, {
+ className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
+ }));
+ };
+
+ return Transition;
+ }(_react.Component);
+
+ Transition.propTypes = propTypes;
+
+ Transition.defaultProps = defaultProps;
+
+ exports["default"] = Transition;
+
+ /***/ }),
+ /* 156 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(938);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(939);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(940);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(941);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(942);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(943);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(284);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(944);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(945);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(285);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(946);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(948);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(949);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 157 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 158 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _properties = __webpack_require__(27);
+
+ var _properties2 = _interopRequireDefault(_properties);
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var transitionEndEvent = _properties2["default"].end;
+
+ //设置状态码
+ var UNMOUNTED = exports.UNMOUNTED = 0;
+ var EXITED = exports.EXITED = 1;
+ var ENTERING = exports.ENTERING = 2;
+ var ENTERED = exports.ENTERED = 3;
+ var EXITING = exports.EXITING = 4;
+
+ var propTypes = {
+ /**
+ * 是否触发动画
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * 不显示的时候是否移除组件
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * 如果设置为默认显示,挂载时显示动画
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * 设置超时时间,防止出现问题,可设置为>=动画时间
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * 退出组件时添加的class
+ */
+ exitedClassName: _propTypes2["default"].string,
+ /**
+ * 退出组件中添加的class
+ */
+ exitingClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画后添加的class
+ */
+ enteredClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画时添加的class
+ */
+ enteringClassName: _propTypes2["default"].string,
+
+ /**
+ * 进入动画开始时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * 进入动画中的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * 进入动画后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * 退出动画开始时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * 退出动画中的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * 退出动画后的钩子函数
+ */
+ onExited: _propTypes2["default"].func
+ };
+
+ function noop() {}
+
+ var defaultProps = {
+ "in": false,
+ unmountOnExit: false,
+ transitionAppear: false,
+ timeout: 5000,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+
+ /**
+ * 动画组件
+ */
+
+ var Transition = function (_Component) {
+ _inherits(Transition, _Component);
+
+ function Transition(props, context) {
+ _classCallCheck(this, Transition);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
+
+ var initialStatus = void 0;
+ if (props["in"]) {
+ // 在componentdidmount时开始执行动画
+ initialStatus = props.transitionAppear ? EXITED : ENTERED;
+ } else {
+ initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
+ }
+ _this.state = { status: initialStatus };
+
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ Transition.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.transitionAppear && this.props["in"]) {
+ this.performEnter(this.props);
+ }
+ };
+
+ Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps["in"] && this.props.unmountOnExit) {
+ if (this.state.status === UNMOUNTED) {
+ // 在componentDidUpdate执行动画.
+ this.setState({ status: EXITED });
+ }
+ } else {
+ this._needsUpdate = true;
+ }
+ };
+
+ Transition.prototype.componentDidUpdate = function componentDidUpdate() {
+ var status = this.state.status;
+
+ if (this.props.unmountOnExit && status === EXITED) {
+ // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
+ if (this.props["in"]) {
+ this.performEnter(this.props);
+ } else {
+ this.setState({ status: UNMOUNTED });
+ }
+
+ return;
+ }
+
+ // 确保只响应prop变化
+ if (this._needsUpdate) {
+ this._needsUpdate = false;
+
+ if (this.props["in"]) {
+ if (status === EXITING) {
+ this.performEnter(this.props);
+ } else if (status === EXITED) {
+ this.performEnter(this.props);
+ }
+ // 其他,当我们已经输入或输出
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ this.performExit(this.props);
+ }
+ // 我们已经输入或输出完成
+ }
+ }
+ };
+
+ Transition.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ Transition.prototype.performEnter = function performEnter(props) {
+ var _this2 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ // 这里接收新props
+ props.onEnter(node);
+
+ this.safeSetState({ status: ENTERING }, function () {
+ _this2.props.onEntering(node);
+
+ _this2.onTransitionEnd(node, function () {
+ _this2.safeSetState({ status: ENTERED }, function () {
+ _this2.props.onEntered(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.performExit = function performExit(props) {
+ var _this3 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ props.onExit(node);
+
+ this.safeSetState({ status: EXITING }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, function () {
+ _this3.safeSetState({ status: EXITED }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
+ // 确保在组件销毁后挂起的setState被消除
+ this.setState(nextState, this.setNextCallback(callback));
+ };
+
+ Transition.prototype.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
+ this.setNextCallback(handler);
+
+ if (node) {
+ if (transitionEndEvent == undefined) {
+ this.nextCallback();
+ } else {
+ (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
+ }
+ setTimeout(this.nextCallback, this.props.timeout);
+ } else {
+ setTimeout(this.nextCallback, 0);
+ }
+ };
+
+ Transition.prototype.render = function render() {
+ var status = this.state.status;
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _props = this.props,
+ children = _props.children,
+ className = _props.className,
+ childProps = _objectWithoutProperties(_props, ['children', 'className']);
+
+ Object.keys(Transition.propTypes).forEach(function (key) {
+ return delete childProps[key];
+ });
+
+ var transitionClassName = void 0;
+ if (status === EXITED) {
+ transitionClassName = this.props.exitedClassName;
+ } else if (status === ENTERING) {
+ transitionClassName = this.props.enteringClassName;
+ } else if (status === ENTERED) {
+ transitionClassName = this.props.enteredClassName;
+ } else if (status === EXITING) {
+ transitionClassName = this.props.exitingClassName;
+ }
+
+ var child = _react2["default"].Children.only(children);
+ return _react2["default"].cloneElement(child, _extends({}, childProps, {
+ className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
+ }));
+ };
+
+ return Transition;
+ }(_react.Component);
+
+ Transition.propTypes = propTypes;
+
+ Transition.defaultProps = defaultProps;
+
+ exports["default"] = Transition;
+
+ /***/ }),
+ /* 159 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 160 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _VerticalMenu = __webpack_require__(1009);
+
+ var _VerticalMenu2 = _interopRequireDefault(_VerticalMenu);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _VerticalMenu2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 161 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 162 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.destroyFns = undefined;
+
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+ var _extends2;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _events = __webpack_require__(163);
+
+ var _events2 = _interopRequireDefault(_events);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ var _scrollbarSize = __webpack_require__(104);
+
+ var _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);
+
+ var _scrollTop = __webpack_require__(45);
+
+ var _scrollTop2 = _interopRequireDefault(_scrollTop);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _Modal = __webpack_require__(164);
+
+ var _Modal2 = _interopRequireDefault(_Modal);
+
+ var _isOverflowing = __webpack_require__(105);
+
+ var _isOverflowing2 = _interopRequireDefault(_isOverflowing);
+
+ var _tinperBeeCore = __webpack_require__(62);
+
+ var _beeTransition = __webpack_require__(1083);
+
+ var _ModalBody = __webpack_require__(1087);
+
+ var _ModalBody2 = _interopRequireDefault(_ModalBody);
+
+ var _ModalDialog = __webpack_require__(1088);
+
+ var _ModalDialog2 = _interopRequireDefault(_ModalDialog);
+
+ var _ModalFooter = __webpack_require__(1137);
+
+ var _ModalFooter2 = _interopRequireDefault(_ModalFooter);
+
+ var _ModalHeader = __webpack_require__(1138);
+
+ var _ModalHeader2 = _interopRequireDefault(_ModalHeader);
+
+ var _ModalTitle = __webpack_require__(1139);
+
+ var _ModalTitle2 = _interopRequireDefault(_ModalTitle);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ var propTypes = _extends({}, _Modal2["default"].propTypes, _ModalDialog2["default"].propTypes, (_extends2 = {
+
+ /**
+ * 是否弹出遮罩层/遮罩层点击是否触发关闭
+ */
+ backdrop: _propTypes2["default"].oneOf(['static', true, false]),
+
+ /**
+ * 点击遮罩层是否允许关闭
+ */
+ backdropClosable: _propTypes2["default"].bool,
+ /**
+ * esc触发关闭
+ */
+ keyboard: _propTypes2["default"].bool,
+
+ /**
+ * 显隐时是否使用动画
+ */
+ animation: _propTypes2["default"].bool,
+
+ /**
+ * 传递给模态框的样式
+ */
+ dialogComponentClass: _tinperBeeCore.elementType,
+
+ /**
+ * 自动设置焦点
+ */
+ autoFocus: _propTypes2["default"].bool,
+
+ /**
+ * 防止打开时焦点离开模态框
+ */
+ enforceFocus: _propTypes2["default"].bool,
+
+ /**
+ * 是否打开模态框
+ */
+ show: _propTypes2["default"].bool,
+
+ /**
+ * 关闭时的钩子函数
+ */
+ onHide: _propTypes2["default"].func,
+
+ onEnter: _propTypes2["default"].func,
+
+ onEntering: _propTypes2["default"].func,
+
+ onEntered: _propTypes2["default"].func,
+
+ onExit: _propTypes2["default"].func,
+
+ onExiting: _propTypes2["default"].func,
+
+ onExited: _propTypes2["default"].func,
+
+ containerClassName: _propTypes2["default"].string
+ }, _defineProperty(_extends2, 'containerClassName', _propTypes2["default"].string), _defineProperty(_extends2, 'container', _Modal2["default"].propTypes.container), _defineProperty(_extends2, 'size', _propTypes2["default"].oneOf(["sm", "lg", "xlg", ""])), _defineProperty(_extends2, 'width', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'draggable', _propTypes2["default"].bool), _defineProperty(_extends2, 'resizable', _propTypes2["default"].bool), _defineProperty(_extends2, 'resizeClassName', _propTypes2["default"].string), _defineProperty(_extends2, 'onResizeStart', _propTypes2["default"].func), _defineProperty(_extends2, 'onResize', _propTypes2["default"].func), _defineProperty(_extends2, 'onResizeStop', _propTypes2["default"].func), _defineProperty(_extends2, 'minWidth', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'minHeight', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'maxWidth', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'maxHeight', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'bounds', _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])), _defineProperty(_extends2, 'className', _propTypes2["default"].string), _defineProperty(_extends2, 'centered', _propTypes2["default"].bool), _extends2));
+
+ var defaultProps = _extends({}, _Modal2["default"].defaultProps, {
+ backdropClosable: true,
+ animation: true,
+ dialogComponentClass: _ModalDialog2["default"],
+ draggable: false,
+ resizable: false,
+ clsPrefix: 'u-modal',
+ className: ''
+ });
+
+ var ModalFuncProps = {
+ prefixCls: _propTypes2["default"].string,
+ className: _propTypes2["default"].string,
+ show: _propTypes2["default"].bool,
+ title: _react2["default"].ReactNode,
+ content: _react2["default"].ReactNode,
+ onOk: _propTypes2["default"].func,
+ onCancel: _propTypes2["default"].func,
+ width: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
+ okText: _propTypes2["default"].string,
+ okType: _propTypes2["default"].string,
+ cancelText: _propTypes2["default"].string,
+ icon: _react2["default"].ReactNode,
+ backdrop: _propTypes2["default"].oneOf(['static', true, false])
+ };
+
+ var ModalFunc = function ModalFunc(props) {
+ destroy = function destroy() {};
+ update = function update(newConfig) {};
+ };
+
+ var destroyFns = exports.destroyFns = [];
+
+ var childContextTypes = {
+ $u_modal: _propTypes2["default"].shape({
+ onHide: _propTypes2["default"].func
+ })
+ };
+
+ var Modal = function (_React$Component) {
+ _inherits(Modal, _React$Component);
+
+ function Modal(props, context) {
+ _classCallCheck(this, Modal);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
+
+ _this.clearCenteredCls = function () {
+ var centered = _this.state.centered;
+
+ if (!centered) {
+ return;
+ }
+ _this.offsetTop = _this.getOffsetTop();
+ _this.setState({
+ centered: false
+ });
+ };
+
+ _this.state = {
+ style: {},
+ centered: props.centered,
+ draging: false,
+ draged: false
+ };
+ _this.offsetTop = 0;
+ _this.handleEntering = _this.handleEntering.bind(_this);
+ _this.handleExited = _this.handleExited.bind(_this);
+ _this.handleWindowResize = _this.handleWindowResize.bind(_this);
+ _this.handleDialogClick = _this.handleDialogClick.bind(_this);
+ return _this;
+ }
+
+ Modal.prototype.getChildContext = function getChildContext() {
+ return {
+ $u_modal: {
+ onHide: this.props.onHide
+ }
+ };
+ };
+
+ Modal.prototype.componentWillUnmount = function componentWillUnmount() {
+ // Clean up the listener if we need to.
+ this.handleExited();
+ };
+
+ Modal.prototype.handleEntering = function handleEntering() {
+ // FIXME: This should work even when animation is disabled.
+ _events2["default"].on(window, 'resize', this.handleWindowResize);
+ this.updateStyle();
+ };
+
+ Modal.prototype.handleExited = function handleExited() {
+ this.setState({
+ draging: false,
+ draged: false
+ });
+ // FIXME: This should work even when animation is disabled.
+ _events2["default"].off(window, 'resize', this.handleWindowResize);
+ };
+
+ Modal.prototype.handleWindowResize = function handleWindowResize() {
+ this.updateStyle();
+ };
+
+ Modal.prototype.handleDialogClick = function handleDialogClick(e) {
+ if (e.target !== e.currentTarget) {
+ return;
+ }
+
+ this.props.onHide();
+ };
+
+ Modal.prototype.updateStyle = function updateStyle() {
+ if (!_inDOM2["default"] || !this._modal) {
+ return;
+ }
+
+ var dialogNode = this._modal.getDialogElement();
+ var dialogHeight = dialogNode.scrollHeight;
+
+ var document = (0, _ownerDocument2["default"])(dialogNode);
+ var bodyIsOverflowing = false;
+ if (this.props.container) {
+ bodyIsOverflowing = (0, _isOverflowing2["default"])(_reactDom2["default"].findDOMNode(this.props.container));
+ }
+ var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight;
+
+ this.setState({
+ style: {
+ paddingRight: bodyIsOverflowing && !modalIsOverflowing ? (0, _scrollbarSize2["default"])() : undefined,
+ paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? (0, _scrollbarSize2["default"])() : undefined
+ }
+ });
+ };
+ //ResizeStart 时,若模态框设置了 `centered` ,需要把居中属性移除,并通过 offsetTop 制造垂直居中的假象
+ //fixbug: Resize 和 centered 一起使用时,拖拽交互不正确
+
+
+ //计算 ModalDialog 的 offsetTop
+ Modal.prototype.getOffsetTop = function getOffsetTop() {
+ var modalDialog = document.getElementsByClassName("u-modal-dialog") && document.getElementsByClassName("u-modal-dialog")[0];
+ var topPos = modalDialog && modalDialog.offsetTop;
+ return topPos;
+ };
+
+ Modal.prototype.render = function render() {
+ var _this2 = this;
+
+ var _props = this.props,
+ backdrop = _props.backdrop,
+ backdropClosable = _props.backdropClosable,
+ animation = _props.animation,
+ show = _props.show,
+ Dialog = _props.dialogComponentClass,
+ className = _props.className,
+ clsPrefix = _props.clsPrefix,
+ _props$style = _props.style,
+ style = _props$style === undefined ? {} : _props$style,
+ size = _props.size,
+ width = _props.width,
+ children = _props.children,
+ onEntering = _props.onEntering,
+ onExited = _props.onExited,
+ backdropClassName = _props.backdropClassName,
+ containerClassName = _props.containerClassName,
+ draggable = _props.draggable,
+ resizeClassName = _props.resizeClassName,
+ bounds = _props.bounds,
+ container = _props.container,
+ onStart = _props.onStart,
+ onStop = _props.onStop,
+ props = _objectWithoutProperties(_props, ['backdrop', 'backdropClosable', 'animation', 'show', 'dialogComponentClass', 'className', 'clsPrefix', 'style', 'size', 'width', 'children', 'onEntering', 'onExited', 'backdropClassName', 'containerClassName', 'draggable', 'resizeClassName', 'bounds', 'container', 'onStart', 'onStop']);
+
+ var _state = this.state,
+ centered = _state.centered,
+ draging = _state.draging,
+ draged = _state.draged;
+
+ var dialogMarginTop = 30;
+ //ResizeStart 时,计算 ModalDialog 的 offsetTop
+ var topPosStyle = this.offsetTop > 0 ? { top: this.offsetTop - dialogMarginTop } : null;
+
+ var _splitComponent = (0, _tinperBeeCore.splitComponent)(props, _Modal2["default"]),
+ _splitComponent2 = _slicedToArray(_splitComponent, 2),
+ baseModalProps = _splitComponent2[0],
+ dialogProps = _splitComponent2[1];
+
+ var inClassName = show && !animation && 'in';
+
+ var backdropClasses = _defineProperty({}, clsPrefix + '-backdrop', true);
+ var containerClasses = _defineProperty({}, clsPrefix + '-open', true);
+ if (!!centered) {
+ className += ' ' + clsPrefix + '-centered';
+ }
+ if (draging) {
+ className += ' draging';
+ }
+ if (draged) {
+ className += ' draged';
+ }
+ if (Number(width)) width += 'px';
+
+ var styleRes = _extends({}, this.state.style, style, topPosStyle);
+ if (width) {
+ _extends(styleRes, { width: width });
+ }
+ return _react2["default"].createElement(
+ _Modal2["default"],
+ _extends({}, baseModalProps, {
+ ref: function ref(c) {
+ _this2._modal = c;
+ },
+ show: show,
+ onEntering: (0, _tinperBeeCore.createChainedFunction)(onEntering, this.handleEntering),
+ onExited: (0, _tinperBeeCore.createChainedFunction)(onExited, this.handleExited),
+ backdrop: backdrop,
+ backdropClassName: (0, _classnames2["default"])(backdropClasses, inClassName, backdropClassName),
+ containerClassName: (0, _classnames2["default"])(containerClasses, containerClassName),
+ transition: animation ? _beeTransition.Fade : undefined,
+ dialogTransitionTimeout: Modal.TRANSITION_DURATION,
+ backdropTransitionTimeout: Modal.BACKDROP_TRANSITION_DURATION,
+ container: container
+ }),
+ _react2["default"].createElement(
+ Dialog,
+ _extends({}, dialogProps, {
+ style: styleRes,
+ className: (0, _classnames2["default"])(className, inClassName, backdropClassName),
+ onClick: backdrop === true && !!backdropClosable ? this.handleDialogClick : null,
+ size: size,
+ draggable: draggable,
+ bounds: bounds,
+ resizeClassName: resizeClassName,
+ clearCenteredCls: this.clearCenteredCls,
+ onStart: function onStart() {
+ _this2.setState({
+ draging: true,
+ draged: false
+ });
+ },
+ onStop: function onStop() {
+ _this2.setState({
+ draging: false,
+ draged: true
+ });
+ }
+ }),
+ children
+ )
+ );
+ };
+
+ return Modal;
+ }(_react2["default"].Component);
+
+ Modal.info = ModalFunc;
+ Modal.success = ModalFunc;
+ Modal.error = ModalFunc;
+ Modal.warn = ModalFunc;
+ Modal.warning = ModalFunc;
+ Modal.confirm = ModalFunc;
+
+ Modal.destroyAll = function () {
+ return;
+ };
+
+ Modal.propTypes = propTypes;
+ Modal.defaultProps = defaultProps;
+ Modal.childContextTypes = childContextTypes;
+
+ Modal.Body = _ModalBody2["default"];
+ Modal.Header = _ModalHeader2["default"];
+ Modal.Title = _ModalTitle2["default"];
+ Modal.Footer = _ModalFooter2["default"];
+
+ Modal.Dialog = _ModalDialog2["default"];
+
+ Modal.TRANSITION_DURATION = 200000;
+ Modal.BACKDROP_TRANSITION_DURATION = 10000;
+
+ exports["default"] = Modal;
+
+ /***/ }),
+ /* 163 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.listen = exports.filter = exports.off = exports.on = undefined;
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _off = __webpack_require__(49);
+
+ var _off2 = _interopRequireDefault(_off);
+
+ var _filter = __webpack_require__(1045);
+
+ var _filter2 = _interopRequireDefault(_filter);
+
+ var _listen = __webpack_require__(1047);
+
+ var _listen2 = _interopRequireDefault(_listen);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.on = _on2.default;
+ exports.off = _off2.default;
+ exports.filter = _filter2.default;
+ exports.listen = _listen2.default;
+ exports.default = { on: _on2.default, off: _off2.default, filter: _filter2.default, listen: _listen2.default };
+
+ /***/ }),
+ /* 164 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /*eslint-disable react/prop-types */
+
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _warning = __webpack_require__(6);
+
+ var _warning2 = _interopRequireDefault(_warning);
+
+ var _tinperBeeCore = __webpack_require__(300);
+
+ var _Portal = __webpack_require__(1061);
+
+ var _Portal2 = _interopRequireDefault(_Portal);
+
+ var _ModalManager = __webpack_require__(1062);
+
+ var _ModalManager2 = _interopRequireDefault(_ModalManager);
+
+ var _ownerDocument = __webpack_require__(302);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _addEventListener = __webpack_require__(1067);
+
+ var _addEventListener2 = _interopRequireDefault(_addEventListener);
+
+ var _addFocusListener = __webpack_require__(1068);
+
+ var _addFocusListener2 = _interopRequireDefault(_addFocusListener);
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ var _activeElement = __webpack_require__(1069);
+
+ var _activeElement2 = _interopRequireDefault(_activeElement);
+
+ var _contains = __webpack_require__(26);
+
+ var _contains2 = _interopRequireDefault(_contains);
+
+ var _getContainer = __webpack_require__(303);
+
+ var _getContainer2 = _interopRequireDefault(_getContainer);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var modalManager = new _ModalManager2["default"]();
+
+ /**
+ * 模态框
+ */
+
+ var propTypes = _extends({}, _Portal2["default"].propTypes, {
+
+ /**
+ * 是否显示
+ */
+ show: _propTypes2["default"].bool,
+
+ /**
+ * 容器
+ */
+ container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func]),
+
+ /**
+ * 当模态框打开时的钩子函数
+ */
+ onShow: _propTypes2["default"].func,
+
+ /**
+ * 当show参数为false时触发的模态框关闭时的钩子函数
+ */
+ onHide: _propTypes2["default"].func,
+
+ /**
+ * 是否包含背景
+ */
+ backdrop: _propTypes2["default"].oneOfType([_propTypes2["default"].bool, _propTypes2["default"].oneOf(['static'])]),
+
+ /**
+ *返回背景组件的函数
+ */
+ renderBackdrop: _propTypes2["default"].func,
+
+ /**
+ * 设置esc键特殊钩子函数
+ */
+ onEscapeKeyUp: _propTypes2["default"].func,
+
+ /**
+ * 当点击背景时触发的函数
+ */
+ onBackdropClick: _propTypes2["default"].func,
+
+ /**
+ * 背景的style
+ */
+ backdropStyle: _propTypes2["default"].object,
+
+ /**
+ * 背景的class
+ */
+ backdropClassName: _propTypes2["default"].string,
+
+ /**
+ *容器的class
+ */
+ containerClassName: _propTypes2["default"].string,
+
+ /**
+ * 按esc键是否关闭模态框
+ */
+ keyboard: _propTypes2["default"].bool,
+
+ /**
+ * 动画组件
+ */
+ transition: _tinperBeeCore.elementType,
+
+ /**
+ * 设置动画超时时间
+ */
+ dialogTransitionTimeout: _propTypes2["default"].number,
+
+ /**
+ * 设置背景动画超时时间
+ */
+ backdropTransitionTimeout: _propTypes2["default"].number,
+
+ /**
+ * 是否自动设置焦点
+ */
+ autoFocus: _propTypes2["default"].bool,
+
+ /**
+ * 防止焦点离开模态框
+ */
+ enforceFocus: _propTypes2["default"].bool,
+
+ /**
+ * 模态框进入时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+
+ /**
+ * 模态框开始进入时的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+
+ /**
+ * 模态框进入后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+
+ /**
+ * 模态框退出时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+
+ /**
+ * 模态框开始退出时的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+
+ /**
+ * 模态框推出后的钩子函数
+ */
+ onExited: _propTypes2["default"].func,
+
+ /**
+ *管理model状态的实例
+ */
+ manager: _propTypes2["default"].object.isRequired
+ });
+
+ var defaultProps = {
+ show: false,
+ backdrop: true,
+ keyboard: true,
+ autoFocus: true,
+ enforceFocus: true,
+ onHide: function onHide() {},
+ manager: modalManager,
+ renderBackdrop: function renderBackdrop(props) {
+ return _react2["default"].createElement('div', props);
+ }
+ };
+
+ var BaseModal = function (_Component) {
+ _inherits(BaseModal, _Component);
+
+ function BaseModal(props, content) {
+ _classCallCheck(this, BaseModal);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.state = {
+ exited: !_this.props.show
+ };
+
+ _this.onShow = _this.onShow.bind(_this);
+ _this.onHide = _this.onHide.bind(_this);
+ _this.setMountNode = _this.setMountNode.bind(_this);
+ _this.handleHidden = _this.handleHidden.bind(_this);
+ _this.handleBackdropClick = _this.handleBackdropClick.bind(_this);
+ _this.handleDocumentKeyUp = _this.handleDocumentKeyUp.bind(_this);
+ _this.checkForFocus = _this.checkForFocus.bind(_this);
+ _this.focus = _this.focus.bind(_this);
+ _this.restoreLastFocus = _this.restoreLastFocus.bind(_this);
+ _this.enforceFocus = _this.enforceFocus.bind(_this);
+ _this.getDialogElement = _this.getDialogElement.bind(_this);
+ _this.isTopModal = _this.isTopModal.bind(_this);
+ _this.renderBackdrop = _this.renderBackdrop.bind(_this);
+ return _this;
+ }
+
+ BaseModal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps.show) {
+ this.setState({ exited: false });
+ } else if (!nextProps.transition) {
+ // Otherwise let handleHidden take care of marking exited.
+ this.setState({ exited: true });
+ }
+ };
+
+ BaseModal.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {
+ if (!this.props.show && nextProps.show) {
+ this.checkForFocus();
+ }
+ };
+
+ BaseModal.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.show) {
+ this.onShow();
+ }
+ this.mounted = true;
+ };
+
+ BaseModal.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
+ var transition = this.props.transition;
+
+
+ if (prevProps.show && !this.props.show && !transition) {
+ // Otherwise handleHidden will call this.
+ this.onHide();
+ } else if (!prevProps.show && this.props.show) {
+ this.onShow();
+ }
+ };
+
+ BaseModal.prototype.componentWillUnmount = function componentWillUnmount() {
+ var _props = this.props,
+ show = _props.show,
+ transition = _props.transition;
+
+
+ if (show || transition && !this.state.exited) {
+ this.onHide();
+ }
+
+ this.mounted = false;
+ };
+
+ BaseModal.prototype.onShow = function onShow() {
+ var doc = (0, _ownerDocument2["default"])(this);
+ var container = (0, _getContainer2["default"])(this.props.container, doc.body);
+
+ this.props.manager.add(this, container, this.props.containerClassName);
+
+ this._onDocumentKeyupListener = (0, _addEventListener2["default"])(doc, 'keyup', this.handleDocumentKeyUp);
+
+ this._onFocusinListener = (0, _addFocusListener2["default"])(this.enforceFocus);
+
+ this.focus();
+
+ if (this.props.onShow) {
+ this.props.onShow();
+ }
+ };
+
+ BaseModal.prototype.onHide = function onHide() {
+ this.props.manager.remove(this);
+
+ this._onDocumentKeyupListener.remove();
+
+ this._onFocusinListener.remove();
+
+ this.restoreLastFocus();
+ };
+
+ BaseModal.prototype.setMountNode = function setMountNode(ref) {
+ this.mountNode = ref ? ref.getMountNode() : ref;
+ };
+
+ BaseModal.prototype.handleHidden = function handleHidden() {
+ this.setState({ exited: true });
+ this.onHide();
+
+ if (this.props.onExited) {
+ var _props2;
+
+ (_props2 = this.props).onExited.apply(_props2, arguments);
+ }
+ };
+
+ BaseModal.prototype.handleBackdropClick = function handleBackdropClick(e) {
+ if (e.target !== e.currentTarget) {
+ return;
+ }
+
+ if (this.props.onBackdropClick) {
+ this.props.onBackdropClick(e);
+ }
+
+ if (this.props.backdrop === true) {
+ this.props.onHide();
+ }
+ };
+
+ BaseModal.prototype.handleDocumentKeyUp = function handleDocumentKeyUp(e) {
+ if (this.props.keyboard && e.keyCode === 27 && this.isTopModal()) {
+ if (this.props.onEscapeKeyUp) {
+ this.props.onEscapeKeyUp(e);
+ }
+ this.props.onHide();
+ }
+ };
+
+ BaseModal.prototype.checkForFocus = function checkForFocus() {
+ if (_inDOM2["default"]) {
+ this.lastFocus = (0, _activeElement2["default"])();
+ }
+ };
+
+ BaseModal.prototype.focus = function focus() {
+ var autoFocus = this.props.autoFocus;
+ var modalContent = this.getDialogElement();
+ var current = (0, _activeElement2["default"])((0, _ownerDocument2["default"])(this));
+ var focusInModal = current && (0, _contains2["default"])(modalContent, current);
+
+ if (modalContent && autoFocus && !focusInModal) {
+ this.lastFocus = current;
+
+ if (!modalContent.hasAttribute('tabIndex')) {
+ modalContent.setAttribute('tabIndex', -1);
+ (0, _warning2["default"])(false, 'The modal content node does not accept focus. ' + 'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".');
+ }
+
+ modalContent.focus();
+ }
+ };
+
+ BaseModal.prototype.restoreLastFocus = function restoreLastFocus() {
+ // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)
+ if (this.lastFocus && this.lastFocus.focus) {
+ this.lastFocus.focus();
+ this.lastFocus = null;
+ }
+ };
+
+ BaseModal.prototype.enforceFocus = function enforceFocus() {
+ var enforceFocus = this.props.enforceFocus;
+
+
+ if (!enforceFocus || !this.mounted || !this.isTopModal()) {
+ return;
+ }
+
+ var active = (0, _activeElement2["default"])((0, _ownerDocument2["default"])(this));
+ var modal = this.getDialogElement();
+
+ if (modal && modal !== active && !(0, _contains2["default"])(modal, active)) {
+ modal.focus();
+ }
+ };
+
+ //instead of a ref, which might conflict with one the parent applied.
+
+
+ BaseModal.prototype.getDialogElement = function getDialogElement() {
+ var node = this.refs.modal;
+ return node && node.lastChild;
+ };
+
+ BaseModal.prototype.isTopModal = function isTopModal() {
+ return this.props.manager.isTopModal(this);
+ };
+
+ BaseModal.prototype.renderBackdrop = function renderBackdrop() {
+ var _this2 = this;
+
+ var _props3 = this.props,
+ backdropStyle = _props3.backdropStyle,
+ backdropClassName = _props3.backdropClassName,
+ renderBackdrop = _props3.renderBackdrop,
+ Transition = _props3.transition,
+ backdropTransitionTimeout = _props3.backdropTransitionTimeout;
+
+
+ var backdropRef = function backdropRef(ref) {
+ return _this2.backdrop = ref;
+ };
+
+ var backdrop = _react2["default"].createElement('div', {
+ ref: backdropRef,
+ style: this.props.backdropStyle,
+ className: this.props.backdropClassName,
+ onClick: this.handleBackdropClick
+ });
+
+ if (Transition) {
+ backdrop = _react2["default"].createElement(
+ Transition,
+ { transitionAppear: true,
+ 'in': this.props.show,
+ timeout: backdropTransitionTimeout
+ },
+ renderBackdrop({
+ ref: backdropRef,
+ style: backdropStyle,
+ className: backdropClassName,
+ onClick: this.handleBackdropClick
+ })
+ );
+ }
+
+ return backdrop;
+ };
+
+ BaseModal.prototype.render = function render() {
+ var _props4 = this.props,
+ show = _props4.show,
+ container = _props4.container,
+ children = _props4.children,
+ Transition = _props4.transition,
+ backdrop = _props4.backdrop,
+ dialogTransitionTimeout = _props4.dialogTransitionTimeout,
+ className = _props4.className,
+ style = _props4.style,
+ onExit = _props4.onExit,
+ onExiting = _props4.onExiting,
+ onEnter = _props4.onEnter,
+ onEntering = _props4.onEntering,
+ onEntered = _props4.onEntered;
+
+
+ var dialog = _react2["default"].Children.only(children);
+
+ var mountModal = show || Transition && !this.state.exited;
+ if (!mountModal) {
+ return null;
+ }
+
+ var _dialog$props = dialog.props,
+ role = _dialog$props.role,
+ tabIndex = _dialog$props.tabIndex;
+
+
+ if (role === undefined || tabIndex === undefined) {
+ dialog = (0, _react.cloneElement)(dialog, {
+ role: role === undefined ? 'document' : role,
+ tabIndex: tabIndex == null ? '-1' : tabIndex
+ });
+ }
+
+ if (Transition) {
+ dialog = _react2["default"].createElement(
+ Transition,
+ {
+ transitionAppear: true,
+ unmountOnExit: true,
+ 'in': show,
+ timeout: dialogTransitionTimeout,
+ onExit: onExit,
+ onExiting: onExiting,
+ onExited: this.handleHidden,
+ onEnter: onEnter,
+ onEntering: onEntering,
+ onEntered: onEntered
+ },
+ dialog
+ );
+ }
+
+ return _react2["default"].createElement(
+ _Portal2["default"],
+ {
+ ref: this.setMountNode,
+ container: container
+ },
+ _react2["default"].createElement(
+ 'div',
+ {
+ ref: 'modal',
+ role: role || 'dialog',
+ style: style,
+ className: className
+ },
+ backdrop && this.renderBackdrop(),
+ dialog
+ )
+ );
+ };
+
+ return BaseModal;
+ }(_react.Component);
+
+ ;
+
+ BaseModal.Manager = _ModalManager2["default"];
+
+ BaseModal.propTypes = propTypes;
+ BaseModal.defaultProps = defaultProps;
+
+ exports["default"] = BaseModal;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 165 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 166 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 167 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _properties = __webpack_require__(27);
+
+ var _properties2 = _interopRequireDefault(_properties);
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var transitionEndEvent = _properties2["default"].end;
+
+ //设置状态码
+ var UNMOUNTED = exports.UNMOUNTED = 0;
+ var EXITED = exports.EXITED = 1;
+ var ENTERING = exports.ENTERING = 2;
+ var ENTERED = exports.ENTERED = 3;
+ var EXITING = exports.EXITING = 4;
+
+ var propTypes = {
+ /**
+ * 是否触发动画
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * 不显示的时候是否移除组件
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * 如果设置为默认显示,挂载时显示动画
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * 设置超时时间,防止出现问题,可设置为>=动画时间
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * 退出组件时添加的class
+ */
+ exitedClassName: _propTypes2["default"].string,
+ /**
+ * 退出组件中添加的class
+ */
+ exitingClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画后添加的class
+ */
+ enteredClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画时添加的class
+ */
+ enteringClassName: _propTypes2["default"].string,
+
+ /**
+ * 进入动画开始时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * 进入动画中的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * 进入动画后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * 退出动画开始时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * 退出动画中的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * 退出动画后的钩子函数
+ */
+ onExited: _propTypes2["default"].func
+ };
+
+ function noop() {}
+
+ var defaultProps = {
+ "in": false,
+ unmountOnExit: false,
+ transitionAppear: false,
+ timeout: 5000,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+
+ /**
+ * 动画组件
+ */
+
+ var Transition = function (_Component) {
+ _inherits(Transition, _Component);
+
+ function Transition(props, context) {
+ _classCallCheck(this, Transition);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
+
+ var initialStatus = void 0;
+ if (props["in"]) {
+ // 在componentdidmount时开始执行动画
+ initialStatus = props.transitionAppear ? EXITED : ENTERED;
+ } else {
+ initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
+ }
+ _this.state = { status: initialStatus };
+
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ Transition.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.transitionAppear && this.props["in"]) {
+ this.performEnter(this.props);
+ }
+ };
+
+ Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps["in"] && this.props.unmountOnExit) {
+ if (this.state.status === UNMOUNTED) {
+ // 在componentDidUpdate执行动画.
+ this.setState({ status: EXITED });
+ }
+ } else {
+ this._needsUpdate = true;
+ }
+ };
+
+ Transition.prototype.componentDidUpdate = function componentDidUpdate() {
+ var status = this.state.status;
+
+ if (this.props.unmountOnExit && status === EXITED) {
+ // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
+ if (this.props["in"]) {
+ this.performEnter(this.props);
+ } else {
+ this.setState({ status: UNMOUNTED });
+ }
+
+ return;
+ }
+
+ // 确保只响应prop变化
+ if (this._needsUpdate) {
+ this._needsUpdate = false;
+
+ if (this.props["in"]) {
+ if (status === EXITING) {
+ this.performEnter(this.props);
+ } else if (status === EXITED) {
+ this.performEnter(this.props);
+ }
+ // 其他,当我们已经输入或输出
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ this.performExit(this.props);
+ }
+ // 我们已经输入或输出完成
+ }
+ }
+ };
+
+ Transition.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ Transition.prototype.performEnter = function performEnter(props) {
+ var _this2 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ // 这里接收新props
+ props.onEnter(node);
+
+ this.safeSetState({ status: ENTERING }, function () {
+ _this2.props.onEntering(node);
+
+ _this2.onTransitionEnd(node, function () {
+ _this2.safeSetState({ status: ENTERED }, function () {
+ _this2.props.onEntered(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.performExit = function performExit(props) {
+ var _this3 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ props.onExit(node);
+
+ this.safeSetState({ status: EXITING }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, function () {
+ _this3.safeSetState({ status: EXITED }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
+ // 确保在组件销毁后挂起的setState被消除
+ this.setState(nextState, this.setNextCallback(callback));
+ };
+
+ Transition.prototype.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
+ this.setNextCallback(handler);
+
+ if (node) {
+ if (transitionEndEvent == undefined) {
+ this.nextCallback();
+ } else {
+ (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
+ }
+ setTimeout(this.nextCallback, this.props.timeout);
+ } else {
+ setTimeout(this.nextCallback, 0);
+ }
+ };
+
+ Transition.prototype.render = function render() {
+ var status = this.state.status;
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _props = this.props,
+ children = _props.children,
+ className = _props.className,
+ childProps = _objectWithoutProperties(_props, ['children', 'className']);
+
+ Object.keys(Transition.propTypes).forEach(function (key) {
+ return delete childProps[key];
+ });
+
+ var transitionClassName = void 0;
+ if (status === EXITED) {
+ transitionClassName = this.props.exitedClassName;
+ } else if (status === ENTERING) {
+ transitionClassName = this.props.enteringClassName;
+ } else if (status === ENTERED) {
+ transitionClassName = this.props.enteredClassName;
+ } else if (status === EXITING) {
+ transitionClassName = this.props.exitingClassName;
+ }
+
+ var child = _react2["default"].Children.only(children);
+ return _react2["default"].cloneElement(child, _extends({}, childProps, {
+ className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
+ }));
+ };
+
+ return Transition;
+ }(_react.Component);
+
+ Transition.propTypes = propTypes;
+
+ Transition.defaultProps = defaultProps;
+
+ exports["default"] = Transition;
+
+ /***/ }),
+ /* 168 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = warning;
+ /**
+ * Prints a warning in the console if it exists.
+ *
+ * @param {String} message The warning message.
+ * @returns {void}
+ */
+ function warning(message) {
+ /* eslint-disable no-console */
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
+ console.error(message);
+ }
+ /* eslint-enable no-console */
+
+
+ try {
+ // This error was thrown as a convenience so that if you enable
+ // "break on all exceptions" in your console,
+ // it would pause the execution at this line.
+ throw new Error(message);
+ /* eslint-disable no-empty */
+ } catch (e) {}
+ /* eslint-enable no-empty */
+
+ }
+
+ /***/ }),
+ /* 169 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = _extends;
+ function _extends() {
+ _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+ }
+
+ /***/ }),
+ /* 170 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = _objectWithoutPropertiesLoose;
+ function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+ }
+
+ /***/ }),
+ /* 171 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ // currently used to initiate the velocity style object to 0
+
+
+ exports.__esModule = true;
+ exports['default'] = mapToZero;
+
+ function mapToZero(obj) {
+ var ret = {};
+ for (var key in obj) {
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
+ ret[key] = 0;
+ }
+ }
+ return ret;
+ }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 172 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ // stepper is used a lot. Saves allocation to return the same array wrapper.
+ // This is fine and danger-free against mutations because the callsite
+ // immediately destructures it and gets the numbers inside without passing the
+
+
+ exports.__esModule = true;
+ exports["default"] = stepper;
+
+ var reusedTuple = [0, 0];
+
+ function stepper(secondPerFrame, x, v, destX, k, b, precision) {
+ // Spring stiffness, in kg / s^2
+
+ // for animations, destX is really spring length (spring at rest). initial
+ // position is considered as the stretched/compressed position of a spring
+ var Fspring = -k * (x - destX);
+
+ // Damping, in kg / s
+ var Fdamper = -b * v;
+
+ // usually we put mass here, but for animation purposes, specifying mass is a
+ // bit redundant. you could simply adjust k and b accordingly
+ // let a = (Fspring + Fdamper) / mass;
+ var a = Fspring + Fdamper;
+
+ var newV = v + a * secondPerFrame;
+ var newX = x + newV * secondPerFrame;
+
+ if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {
+ reusedTuple[0] = destX;
+ reusedTuple[1] = 0;
+ return reusedTuple;
+ }
+
+ reusedTuple[0] = newX;
+ reusedTuple[1] = newV;
+ return reusedTuple;
+ }
+
+ module.exports = exports["default"];
+ // array reference around.
+
+ /***/ }),
+ /* 173 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.7.1
+ (function() {
+ var getNanoSeconds, hrtime, loadTime;
+
+ if ((typeof performance !== "undefined" && performance !== null) && performance.now) {
+ module.exports = function() {
+ return performance.now();
+ };
+ } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) {
+ module.exports = function() {
+ return (getNanoSeconds() - loadTime) / 1e6;
+ };
+ hrtime = process.hrtime;
+ getNanoSeconds = function() {
+ var hr;
+ hr = hrtime();
+ return hr[0] * 1e9 + hr[1];
+ };
+ loadTime = getNanoSeconds();
+ } else if (Date.now) {
+ module.exports = function() {
+ return Date.now() - loadTime;
+ };
+ loadTime = Date.now();
+ } else {
+ module.exports = function() {
+ return new Date().getTime() - loadTime;
+ };
+ loadTime = new Date().getTime();
+ }
+
+ }).call(this);
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 174 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ // usage assumption: currentStyle values have already been rendered but it says
+ // nothing of whether currentStyle is stale (see unreadPropStyle)
+
+
+ exports.__esModule = true;
+ exports['default'] = shouldStopAnimation;
+
+ function shouldStopAnimation(currentStyle, style, currentVelocity) {
+ for (var key in style) {
+ if (!Object.prototype.hasOwnProperty.call(style, key)) {
+ continue;
+ }
+
+ if (currentVelocity[key] !== 0) {
+ return false;
+ }
+
+ var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;
+ // stepper will have already taken care of rounding precision errors, so
+ // won't have such thing as 0.9999 !=== 1
+ if (currentStyle[key] !== styleValue) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 175 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(316).default;
+ module.exports.utils = __webpack_require__(75);
+ module.exports.Responsive = __webpack_require__(1135).default;
+ module.exports.Responsive.utils = __webpack_require__(320);
+ module.exports.WidthProvider = __webpack_require__(1136).default;
+
+
+ /***/ }),
+ /* 176 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.matchesSelector = matchesSelector;
+ exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
+ exports.addEvent = addEvent;
+ exports.removeEvent = removeEvent;
+ exports.outerHeight = outerHeight;
+ exports.outerWidth = outerWidth;
+ exports.innerHeight = innerHeight;
+ exports.innerWidth = innerWidth;
+ exports.offsetXYFromParent = offsetXYFromParent;
+ exports.createCSSTransform = createCSSTransform;
+ exports.createSVGTransform = createSVGTransform;
+ exports.getTranslation = getTranslation;
+ exports.getTouch = getTouch;
+ exports.getTouchIdentifier = getTouchIdentifier;
+ exports.addUserSelectStyles = addUserSelectStyles;
+ exports.removeUserSelectStyles = removeUserSelectStyles;
+ exports.addClassName = addClassName;
+ exports.removeClassName = removeClassName;
+
+ var _shims = __webpack_require__(108);
+
+ var _getPrefix = _interopRequireWildcard(__webpack_require__(1131));
+
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
+
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
+
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ var matchesSelectorFunc = '';
+
+ function matchesSelector(el
+ /*: Node*/
+ , selector
+ /*: string*/
+ )
+ /*: boolean*/
+ {
+ if (!matchesSelectorFunc) {
+ matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
+ // $FlowIgnore: Doesn't think elements are indexable
+ return (0, _shims.isFunction)(el[method]);
+ });
+ } // Might not be found entirely (not an Element?) - in that case, bail
+ // $FlowIgnore: Doesn't think elements are indexable
+
+
+ if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
+
+ return el[matchesSelectorFunc](selector);
+ } // Works up the tree to the draggable itself attempting to match selector.
+
+
+ function matchesSelectorAndParentsTo(el
+ /*: Node*/
+ , selector
+ /*: string*/
+ , baseNode
+ /*: Node*/
+ )
+ /*: boolean*/
+ {
+ var node = el;
+
+ do {
+ if (matchesSelector(node, selector)) return true;
+ if (node === baseNode) return false;
+ node = node.parentNode;
+ } while (node);
+
+ return false;
+ }
+
+ function addEvent(el
+ /*: ?Node*/
+ , event
+ /*: string*/
+ , handler
+ /*: Function*/
+ , inputOptions
+ /*: Object*/
+ )
+ /*: void*/
+ {
+ if (!el) return;
+
+ var options = _objectSpread({
+ capture: true
+ }, inputOptions);
+
+ if (el.addEventListener) {
+ el.addEventListener(event, handler, options);
+ } else if (el.attachEvent) {
+ el.attachEvent('on' + event, handler);
+ } else {
+ // $FlowIgnore: Doesn't think elements are indexable
+ el['on' + event] = handler;
+ }
+ }
+
+ function removeEvent(el
+ /*: ?Node*/
+ , event
+ /*: string*/
+ , handler
+ /*: Function*/
+ , inputOptions
+ /*: Object*/
+ )
+ /*: void*/
+ {
+ if (!el) return;
+
+ var options = _objectSpread({
+ capture: true
+ }, inputOptions);
+
+ if (el.removeEventListener) {
+ el.removeEventListener(event, handler, options);
+ } else if (el.detachEvent) {
+ el.detachEvent('on' + event, handler);
+ } else {
+ // $FlowIgnore: Doesn't think elements are indexable
+ el['on' + event] = null;
+ }
+ }
+
+ function outerHeight(node
+ /*: HTMLElement*/
+ )
+ /*: number*/
+ {
+ // This is deliberately excluding margin for our calculations, since we are using
+ // offsetTop which is including margin. See getBoundPosition
+ var height = node.clientHeight;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ height += (0, _shims.int)(computedStyle.borderTopWidth);
+ height += (0, _shims.int)(computedStyle.borderBottomWidth);
+ return height;
+ }
+
+ function outerWidth(node
+ /*: HTMLElement*/
+ )
+ /*: number*/
+ {
+ // This is deliberately excluding margin for our calculations, since we are using
+ // offsetLeft which is including margin. See getBoundPosition
+ var width = node.clientWidth;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ width += (0, _shims.int)(computedStyle.borderLeftWidth);
+ width += (0, _shims.int)(computedStyle.borderRightWidth);
+ return width;
+ }
+
+ function innerHeight(node
+ /*: HTMLElement*/
+ )
+ /*: number*/
+ {
+ var height = node.clientHeight;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ height -= (0, _shims.int)(computedStyle.paddingTop);
+ height -= (0, _shims.int)(computedStyle.paddingBottom);
+ return height;
+ }
+
+ function innerWidth(node
+ /*: HTMLElement*/
+ )
+ /*: number*/
+ {
+ var width = node.clientWidth;
+ var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
+ width -= (0, _shims.int)(computedStyle.paddingLeft);
+ width -= (0, _shims.int)(computedStyle.paddingRight);
+ return width;
+ } // Get from offsetParent
+
+
+ function offsetXYFromParent(evt
+ /*: {clientX: number, clientY: number}*/
+ , offsetParent
+ /*: HTMLElement*/
+ , scale
+ /*: number*/
+ )
+ /*: ControlPosition*/
+ {
+ var isBody = offsetParent === offsetParent.ownerDocument.body;
+ var offsetParentRect = isBody ? {
+ left: 0,
+ top: 0
+ } : offsetParent.getBoundingClientRect();
+ var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
+ var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
+ return {
+ x: x,
+ y: y
+ };
+ }
+
+ function createCSSTransform(controlPos
+ /*: ControlPosition*/
+ , positionOffset
+ /*: PositionOffsetControlPosition*/
+ )
+ /*: Object*/
+ {
+ var translation = getTranslation(controlPos, positionOffset, 'px');
+ return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
+ }
+
+ function createSVGTransform(controlPos
+ /*: ControlPosition*/
+ , positionOffset
+ /*: PositionOffsetControlPosition*/
+ )
+ /*: string*/
+ {
+ var translation = getTranslation(controlPos, positionOffset, '');
+ return translation;
+ }
+
+ function getTranslation(_ref2, positionOffset
+ /*: PositionOffsetControlPosition*/
+ , unitSuffix
+ /*: string*/
+ )
+ /*: string*/
+ {
+ var x = _ref2.x,
+ y = _ref2.y;
+ var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
+
+ if (positionOffset) {
+ var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
+ var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
+ translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
+ }
+
+ return translation;
+ }
+
+ function getTouch(e
+ /*: MouseTouchEvent*/
+ , identifier
+ /*: number*/
+ )
+ /*: ?{clientX: number, clientY: number}*/
+ {
+ return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
+ return identifier === t.identifier;
+ }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
+ return identifier === t.identifier;
+ });
+ }
+
+ function getTouchIdentifier(e
+ /*: MouseTouchEvent*/
+ )
+ /*: ?number*/
+ {
+ if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
+ if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
+ } // User-select Hacks:
+ //
+ // Useful for preventing blue highlights all over everything when dragging.
+ // Note we're passing `document` b/c we could be iframed
+
+
+ function addUserSelectStyles(doc
+ /*: ?Document*/
+ ) {
+ if (!doc) return;
+ var styleEl = doc.getElementById('react-draggable-style-el');
+
+ if (!styleEl) {
+ styleEl = doc.createElement('style');
+ styleEl.type = 'text/css';
+ styleEl.id = 'react-draggable-style-el';
+ styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
+ styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
+ doc.getElementsByTagName('head')[0].appendChild(styleEl);
+ }
+
+ if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
+ }
+
+ function removeUserSelectStyles(doc
+ /*: ?Document*/
+ ) {
+ if (!doc) return;
+
+ try {
+ if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
+
+ if (doc.selection) {
+ // $FlowIgnore: IE
+ doc.selection.empty();
+ } else {
+ // Remove selection caused by scroll, unless it's a focused input
+ // (we use doc.defaultView in case we're in an iframe)
+ var selection = (doc.defaultView || window).getSelection();
+
+ if (selection && selection.type !== 'Caret') {
+ selection.removeAllRanges();
+ }
+ }
+ } catch (e) {// probably IE
+ }
+ }
+
+ function addClassName(el
+ /*: HTMLElement*/
+ , className
+ /*: string*/
+ ) {
+ if (el.classList) {
+ el.classList.add(className);
+ } else {
+ if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
+ el.className += " ".concat(className);
+ }
+ }
+ }
+
+ function removeClassName(el
+ /*: HTMLElement*/
+ , className
+ /*: string*/
+ ) {
+ if (el.classList) {
+ el.classList.remove(className);
+ } else {
+ el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
+ }
+ }
+
+ /***/ }),
+ /* 177 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ var _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ var inherits = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ var possibleConstructorReturn = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
+ };
+
+ var styles = {
+ base: {
+ position: 'absolute',
+ userSelect: 'none',
+ MsUserSelect: 'none'
+ },
+ top: {
+ width: '100%',
+ height: '10px',
+ top: '-5px',
+ left: '0px',
+ cursor: 'row-resize'
+ },
+ right: {
+ width: '10px',
+ height: '100%',
+ top: '0px',
+ right: '-5px',
+ cursor: 'col-resize'
+ },
+ bottom: {
+ width: '100%',
+ height: '10px',
+ bottom: '-5px',
+ left: '0px',
+ cursor: 'row-resize'
+ },
+ left: {
+ width: '10px',
+ height: '100%',
+ top: '0px',
+ left: '-5px',
+ cursor: 'col-resize'
+ },
+ topRight: {
+ width: '20px',
+ height: '20px',
+ position: 'absolute',
+ right: '-10px',
+ top: '-10px',
+ cursor: 'ne-resize'
+ },
+ bottomRight: {
+ width: '20px',
+ height: '20px',
+ position: 'absolute',
+ right: '-10px',
+ bottom: '-10px',
+ cursor: 'se-resize'
+ },
+ bottomLeft: {
+ width: '20px',
+ height: '20px',
+ position: 'absolute',
+ left: '-10px',
+ bottom: '-10px',
+ cursor: 'sw-resize'
+ },
+ topLeft: {
+ width: '20px',
+ height: '20px',
+ position: 'absolute',
+ left: '-10px',
+ top: '-10px',
+ cursor: 'nw-resize'
+ }
+ };
+
+ var Resizer = (function (props) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_react__["createElement"])(
+ 'div',
+ {
+ className: props.className,
+ style: _extends({}, styles.base, styles[props.direction], props.replaceStyles || {}),
+ onMouseDown: function onMouseDown(e) {
+ props.onResizeStart(e, props.direction);
+ },
+ onTouchStart: function onTouchStart(e) {
+ props.onResizeStart(e, props.direction);
+ }
+ },
+ props.children
+ );
+ });
+
+ var userSelectNone = {
+ userSelect: 'none',
+ MozUserSelect: 'none',
+ WebkitUserSelect: 'none',
+ MsUserSelect: 'none'
+ };
+
+ var userSelectAuto = {
+ userSelect: 'auto',
+ MozUserSelect: 'auto',
+ WebkitUserSelect: 'auto',
+ MsUserSelect: 'auto'
+ };
+
+ var clamp = function clamp(n, min, max) {
+ return Math.max(Math.min(n, max), min);
+ };
+ var snap = function snap(n, size) {
+ return Math.round(n / size) * size;
+ };
+
+ var findClosestSnap = function findClosestSnap(n, snapArray) {
+ return snapArray.reduce(function (prev, curr) {
+ return Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev;
+ });
+ };
+
+ var endsWith = function endsWith(str, searchStr) {
+ return str.substr(str.length - searchStr.length, searchStr.length) === searchStr;
+ };
+
+ var getStringSize = function getStringSize(n) {
+ if (n.toString() === 'auto') return n.toString();
+ if (endsWith(n.toString(), 'px')) return n.toString();
+ if (endsWith(n.toString(), '%')) return n.toString();
+ if (endsWith(n.toString(), 'vh')) return n.toString();
+ if (endsWith(n.toString(), 'vw')) return n.toString();
+ if (endsWith(n.toString(), 'vmax')) return n.toString();
+ if (endsWith(n.toString(), 'vmin')) return n.toString();
+ return n + 'px';
+ };
+
+ var definedProps = ['style', 'className', 'grid', 'snap', 'bounds', 'size', 'defaultSize', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'lockAspectRatio', 'lockAspectRatioExtraWidth', 'lockAspectRatioExtraHeight', 'enable', 'handleStyles', 'handleClasses', 'handleWrapperStyle', 'handleWrapperClass', 'children', 'onResizeStart', 'onResize', 'onResizeStop', 'handleComponent', 'scale', 'resizeRatio'];
+
+ var baseClassName = '__resizable_base__';
+
+ var Resizable = function (_React$Component) {
+ inherits(Resizable, _React$Component);
+
+ function Resizable(props) {
+ classCallCheck(this, Resizable);
+
+ var _this = possibleConstructorReturn(this, (Resizable.__proto__ || Object.getPrototypeOf(Resizable)).call(this, props));
+
+ _this.state = {
+ isResizing: false,
+ resizeCursor: 'auto',
+ width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.width,
+ height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.height,
+ direction: 'right',
+ original: {
+ x: 0,
+ y: 0,
+ width: 0,
+ height: 0
+ }
+ };
+
+ _this.updateExtendsProps(props);
+ _this.onResizeStart = _this.onResizeStart.bind(_this);
+ _this.onMouseMove = _this.onMouseMove.bind(_this);
+ _this.onMouseUp = _this.onMouseUp.bind(_this);
+
+ if (typeof window !== 'undefined') {
+ window.addEventListener('mouseup', _this.onMouseUp);
+ window.addEventListener('mousemove', _this.onMouseMove);
+ window.addEventListener('mouseleave', _this.onMouseUp);
+ window.addEventListener('touchmove', _this.onMouseMove);
+ window.addEventListener('touchend', _this.onMouseUp);
+ }
+ return _this;
+ }
+
+ createClass(Resizable, [{
+ key: 'updateExtendsProps',
+ value: function updateExtendsProps(props) {
+ this.extendsProps = Object.keys(props).reduce(function (acc, key) {
+ if (definedProps.indexOf(key) !== -1) return acc;
+ acc[key] = props[key];
+ return acc;
+ }, {});
+ }
+ }, {
+ key: 'getParentSize',
+ value: function getParentSize() {
+ var base = this.base;
+
+ if (!base) return { width: window.innerWidth, height: window.innerHeight };
+ // INFO: To calculate parent width with flex layout
+ var wrapChanged = false;
+ var wrap = this.parentNode.style.flexWrap;
+ var minWidth = base.style.minWidth;
+ if (wrap !== 'wrap') {
+ wrapChanged = true;
+ this.parentNode.style.flexWrap = 'wrap';
+ // HACK: Use relative to get parent padding size
+ }
+ base.style.position = 'relative';
+ base.style.minWidth = '100%';
+ var size = {
+ width: base.offsetWidth,
+ height: base.offsetHeight
+ };
+ base.style.position = 'absolute';
+ if (wrapChanged) this.parentNode.style.flexWrap = wrap;
+ base.style.minWidth = minWidth;
+ return size;
+ }
+ }, {
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ var size = this.size;
+
+ this.setState({
+ width: this.state.width || size.width,
+ height: this.state.height || size.height
+ });
+ var parent = this.parentNode;
+ if (!(parent instanceof HTMLElement)) return;
+ if (this.base) return;
+ var element = document.createElement('div');
+ element.style.width = '100%';
+ element.style.height = '100%';
+ element.style.position = 'absolute';
+ element.style.transform = 'scale(0, 0)';
+ element.style.left = '0';
+ element.style.flex = '0';
+ if (element.classList) {
+ element.classList.add(baseClassName);
+ } else {
+ element.className += baseClassName;
+ }
+ parent.appendChild(element);
+ }
+ }, {
+ key: 'componentWillReceiveProps',
+ value: function componentWillReceiveProps(next) {
+ this.updateExtendsProps(next);
+ }
+ }, {
+ key: 'componentWillUnmount',
+ value: function componentWillUnmount() {
+ if (typeof window !== 'undefined') {
+ window.removeEventListener('mouseup', this.onMouseUp);
+ window.removeEventListener('mousemove', this.onMouseMove);
+ window.removeEventListener('mouseleave', this.onMouseUp);
+ window.removeEventListener('touchmove', this.onMouseMove);
+ window.removeEventListener('touchend', this.onMouseUp);
+ var parent = this.parentNode;
+ var base = this.base;
+
+ if (!base || !parent) return;
+ if (!(parent instanceof HTMLElement) || !(base instanceof Node)) return;
+ parent.removeChild(base);
+ }
+ }
+ }, {
+ key: 'calculateNewSize',
+ value: function calculateNewSize(newSize, kind) {
+ var propsSize = this.propsSize && this.propsSize[kind];
+ return this.state[kind] === 'auto' && this.state.original[kind] === newSize && (typeof propsSize === 'undefined' || propsSize === 'auto') ? 'auto' : newSize;
+ }
+ }, {
+ key: 'onResizeStart',
+ value: function onResizeStart(event, direction) {
+ var clientX = 0;
+ var clientY = 0;
+ if (event.nativeEvent instanceof MouseEvent) {
+ clientX = event.nativeEvent.clientX;
+ clientY = event.nativeEvent.clientY;
+
+ // When user click with right button the resize is stuck in resizing mode
+ // until users clicks again, dont continue if right click is used.
+ // HACK: MouseEvent does not have `which` from flow-bin v0.68.
+ if (event.nativeEvent.which === 3) {
+ return;
+ }
+ } else if (event.nativeEvent instanceof TouchEvent) {
+ clientX = event.nativeEvent.touches[0].clientX;
+ clientY = event.nativeEvent.touches[0].clientY;
+ }
+ if (this.props.onResizeStart) {
+ this.props.onResizeStart(event, direction, this.resizable);
+ }
+
+ // Fix #168
+ if (this.props.size) {
+ if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {
+ this.setState({ height: this.props.size.height });
+ }
+ if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {
+ this.setState({ width: this.props.size.width });
+ }
+ }
+
+ this.setState({
+ original: {
+ x: clientX,
+ y: clientY,
+ width: this.size.width,
+ height: this.size.height
+ },
+ isResizing: true,
+ resizeCursor: window.getComputedStyle(event.target).cursor,
+ direction: direction
+ });
+ }
+ }, {
+ key: 'onMouseMove',
+ value: function onMouseMove(event) {
+ if (!this.state.isResizing) return;
+ var clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
+ var clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;
+ var _state = this.state,
+ direction = _state.direction,
+ original = _state.original,
+ width = _state.width,
+ height = _state.height;
+ var _props = this.props,
+ lockAspectRatio = _props.lockAspectRatio,
+ lockAspectRatioExtraHeight = _props.lockAspectRatioExtraHeight,
+ lockAspectRatioExtraWidth = _props.lockAspectRatioExtraWidth;
+
+ var scale = this.props.scale || 1;
+ var _props2 = this.props,
+ maxWidth = _props2.maxWidth,
+ maxHeight = _props2.maxHeight,
+ minWidth = _props2.minWidth,
+ minHeight = _props2.minHeight;
+
+ var resizeRatio = this.props.resizeRatio || 1;
+
+ // TODO: refactor
+ var parentSize = this.getParentSize();
+ if (maxWidth && typeof maxWidth === 'string' && endsWith(maxWidth, '%')) {
+ var _ratio = Number(maxWidth.replace('%', '')) / 100;
+ maxWidth = parentSize.width * _ratio;
+ }
+ if (maxHeight && typeof maxHeight === 'string' && endsWith(maxHeight, '%')) {
+ var _ratio2 = Number(maxHeight.replace('%', '')) / 100;
+ maxHeight = parentSize.height * _ratio2;
+ }
+ if (minWidth && typeof minWidth === 'string' && endsWith(minWidth, '%')) {
+ var _ratio3 = Number(minWidth.replace('%', '')) / 100;
+ minWidth = parentSize.width * _ratio3;
+ }
+ if (minHeight && typeof minHeight === 'string' && endsWith(minHeight, '%')) {
+ var _ratio4 = Number(minHeight.replace('%', '')) / 100;
+ minHeight = parentSize.height * _ratio4;
+ }
+ maxWidth = typeof maxWidth === 'undefined' ? undefined : Number(maxWidth);
+ maxHeight = typeof maxHeight === 'undefined' ? undefined : Number(maxHeight);
+ minWidth = typeof minWidth === 'undefined' ? undefined : Number(minWidth);
+ minHeight = typeof minHeight === 'undefined' ? undefined : Number(minHeight);
+
+ var ratio = typeof lockAspectRatio === 'number' ? lockAspectRatio : original.width / original.height;
+ var newWidth = original.width;
+ var newHeight = original.height;
+ if (/right/i.test(direction)) {
+ newWidth = original.width + (clientX - original.x) * resizeRatio / scale;
+ if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;
+ }
+ if (/left/i.test(direction)) {
+ newWidth = original.width - (clientX - original.x) * resizeRatio / scale;
+ if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;
+ }
+ if (/bottom/i.test(direction)) {
+ newHeight = original.height + (clientY - original.y) * resizeRatio / scale;
+ if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;
+ }
+ if (/top/i.test(direction)) {
+ newHeight = original.height - (clientY - original.y) * resizeRatio / scale;
+ if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;
+ }
+
+ if (this.props.bounds === 'parent') {
+ var parent = this.parentNode;
+ if (parent instanceof HTMLElement) {
+ var parentRect = parent.getBoundingClientRect();
+ var parentLeft = parentRect.left;
+ var parentTop = parentRect.top;
+
+ var _resizable$getBoundin = this.resizable.getBoundingClientRect(),
+ _left = _resizable$getBoundin.left,
+ _top = _resizable$getBoundin.top;
+
+ var boundWidth = parent.offsetWidth + (parentLeft - _left);
+ var boundHeight = parent.offsetHeight + (parentTop - _top);
+ maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;
+ maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;
+ }
+ } else if (this.props.bounds === 'window') {
+ if (typeof window !== 'undefined') {
+ var _resizable$getBoundin2 = this.resizable.getBoundingClientRect(),
+ _left2 = _resizable$getBoundin2.left,
+ _top2 = _resizable$getBoundin2.top;
+
+ var _boundWidth = window.innerWidth - _left2;
+ var _boundHeight = window.innerHeight - _top2;
+ maxWidth = maxWidth && maxWidth < _boundWidth ? maxWidth : _boundWidth;
+ maxHeight = maxHeight && maxHeight < _boundHeight ? maxHeight : _boundHeight;
+ }
+ } else if (this.props.bounds instanceof HTMLElement) {
+ var targetRect = this.props.bounds.getBoundingClientRect();
+ var targetLeft = targetRect.left;
+ var targetTop = targetRect.top;
+
+ var _resizable$getBoundin3 = this.resizable.getBoundingClientRect(),
+ _left3 = _resizable$getBoundin3.left,
+ _top3 = _resizable$getBoundin3.top;
+
+ if (!(this.props.bounds instanceof HTMLElement)) return;
+ var _boundWidth2 = this.props.bounds.offsetWidth + (targetLeft - _left3);
+ var _boundHeight2 = this.props.bounds.offsetHeight + (targetTop - _top3);
+ maxWidth = maxWidth && maxWidth < _boundWidth2 ? maxWidth : _boundWidth2;
+ maxHeight = maxHeight && maxHeight < _boundHeight2 ? maxHeight : _boundHeight2;
+ }
+
+ var computedMinWidth = typeof minWidth === 'undefined' ? 10 : minWidth;
+ var computedMaxWidth = typeof maxWidth === 'undefined' || maxWidth < 0 ? newWidth : maxWidth;
+ var computedMinHeight = typeof minHeight === 'undefined' ? 10 : minHeight;
+ var computedMaxHeight = typeof maxHeight === 'undefined' || maxHeight < 0 ? newHeight : maxHeight;
+
+ if (lockAspectRatio) {
+ var extraMinWidth = (computedMinHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;
+ var extraMaxWidth = (computedMaxHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;
+ var extraMinHeight = (computedMinWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;
+ var extraMaxHeight = (computedMaxWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;
+ var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);
+ var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);
+ var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);
+ var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);
+ newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);
+ newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);
+ } else {
+ newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);
+ newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);
+ }
+ if (this.props.grid) {
+ newWidth = snap(newWidth, this.props.grid[0]);
+ }
+ if (this.props.grid) {
+ newHeight = snap(newHeight, this.props.grid[1]);
+ }
+
+ if (this.props.snap && this.props.snap.x) {
+ newWidth = findClosestSnap(newWidth, this.props.snap.x);
+ }
+ if (this.props.snap && this.props.snap.y) {
+ newHeight = findClosestSnap(newHeight, this.props.snap.y);
+ }
+
+ var delta = {
+ width: newWidth - original.width,
+ height: newHeight - original.height
+ };
+
+ if (width && typeof width === 'string' && endsWith(width, '%')) {
+ var percent = newWidth / parentSize.width * 100;
+ newWidth = percent + '%';
+ }
+
+ if (height && typeof height === 'string' && endsWith(height, '%')) {
+ var _percent = newHeight / parentSize.height * 100;
+ newHeight = _percent + '%';
+ }
+
+ this.setState({
+ width: this.calculateNewSize(newWidth, 'width'),
+ height: this.calculateNewSize(newHeight, 'height')
+ });
+
+ if (this.props.onResize) {
+ this.props.onResize(event, direction, this.resizable, delta);
+ }
+ }
+ }, {
+ key: 'onMouseUp',
+ value: function onMouseUp(event) {
+ var _state2 = this.state,
+ isResizing = _state2.isResizing,
+ direction = _state2.direction,
+ original = _state2.original;
+
+ if (!isResizing) return;
+ var delta = {
+ width: this.size.width - original.width,
+ height: this.size.height - original.height
+ };
+ if (this.props.onResizeStop) {
+ this.props.onResizeStop(event, direction, this.resizable, delta);
+ }
+ if (this.props.size) {
+ this.setState(this.props.size);
+ }
+ this.setState({ isResizing: false, resizeCursor: 'auto' });
+ }
+ }, {
+ key: 'updateSize',
+ value: function updateSize(size) {
+ this.setState({ width: size.width, height: size.height });
+ }
+ }, {
+ key: 'renderResizer',
+ value: function renderResizer() {
+ var _this2 = this;
+
+ var _props3 = this.props,
+ enable = _props3.enable,
+ handleStyles = _props3.handleStyles,
+ handleClasses = _props3.handleClasses,
+ handleWrapperStyle = _props3.handleWrapperStyle,
+ handleWrapperClass = _props3.handleWrapperClass,
+ handleComponent = _props3.handleComponent;
+
+ if (!enable) return null;
+ var resizers = Object.keys(enable).map(function (dir) {
+ if (enable[dir] !== false) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_react__["createElement"])(
+ Resizer,
+ {
+ key: dir,
+ direction: dir,
+ onResizeStart: _this2.onResizeStart,
+ replaceStyles: handleStyles && handleStyles[dir],
+ className: handleClasses && handleClasses[dir]
+ },
+ handleComponent && handleComponent[dir] ? Object(__WEBPACK_IMPORTED_MODULE_0_react__["createElement"])(handleComponent[dir]) : null
+ );
+ }
+ return null;
+ });
+ // #93 Wrap the resize box in span (will not break 100% width/height)
+ return Object(__WEBPACK_IMPORTED_MODULE_0_react__["createElement"])(
+ 'span',
+ { className: handleWrapperClass, style: handleWrapperStyle },
+ resizers
+ );
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var _this3 = this;
+
+ var userSelect = this.state.isResizing ? userSelectNone : userSelectAuto;
+ return Object(__WEBPACK_IMPORTED_MODULE_0_react__["createElement"])(
+ 'div',
+ _extends({
+ ref: function ref(c) {
+ if (c) {
+ _this3.resizable = c;
+ }
+ },
+ style: _extends({
+ position: 'relative'
+ }, userSelect, this.props.style, this.sizeStyle, {
+ maxWidth: this.props.maxWidth,
+ maxHeight: this.props.maxHeight,
+ minWidth: this.props.minWidth,
+ minHeight: this.props.minHeight,
+ boxSizing: 'border-box'
+ }),
+ className: this.props.className
+ }, this.extendsProps),
+ this.state.isResizing && Object(__WEBPACK_IMPORTED_MODULE_0_react__["createElement"])('div', {
+ style: {
+ height: '100%',
+ width: '100%',
+ backgroundColor: 'rgba(0,0,0,0)',
+ cursor: '' + (this.state.resizeCursor || 'auto'),
+ opacity: '0',
+ position: 'fixed',
+ zIndex: '9999',
+ top: '0',
+ left: '0',
+ bottom: '0',
+ right: '0'
+ }
+ }),
+ this.props.children,
+ this.renderResizer()
+ );
+ }
+ }, {
+ key: 'parentNode',
+ get: function get$$1() {
+ return this.resizable.parentNode;
+ }
+ }, {
+ key: 'propsSize',
+ get: function get$$1() {
+ return this.props.size || this.props.defaultSize;
+ }
+ }, {
+ key: 'base',
+ get: function get$$1() {
+ var parent = this.parentNode;
+ if (!parent) return undefined;
+ var children = [].slice.call(parent.children);
+ for (var i = 0; i < children.length; i += 1) {
+ var n = children[i];
+ if (n instanceof HTMLElement) {
+ if (n.classList.contains(baseClassName)) {
+ return n;
+ }
+ }
+ }
+ return undefined;
+ }
+ }, {
+ key: 'size',
+ get: function get$$1() {
+ var width = 0;
+ var height = 0;
+ if (typeof window !== 'undefined') {
+ var orgWidth = this.resizable.offsetWidth;
+ var orgHeight = this.resizable.offsetHeight;
+ // HACK: Set position `relative` to get parent size.
+ // This is because when re-resizable set `absolute`, I can not get base width correctly.
+ var orgPosition = this.resizable.style.position;
+ if (orgPosition !== 'relative') {
+ this.resizable.style.position = 'relative';
+ }
+ // INFO: Use original width or height if set auto.
+ width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;
+ height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;
+ // Restore original position
+ this.resizable.style.position = orgPosition;
+ }
+ return { width: width, height: height };
+ }
+ }, {
+ key: 'sizeStyle',
+ get: function get$$1() {
+ var _this4 = this;
+
+ var size = this.props.size;
+
+ var getSize = function getSize(key) {
+ if (typeof _this4.state[key] === 'undefined' || _this4.state[key] === 'auto') return 'auto';
+ if (_this4.propsSize && _this4.propsSize[key] && endsWith(_this4.propsSize[key].toString(), '%')) {
+ if (endsWith(_this4.state[key].toString(), '%')) return _this4.state[key].toString();
+ var parentSize = _this4.getParentSize();
+ var value = Number(_this4.state[key].toString().replace('px', ''));
+ var percent = value / parentSize[key] * 100;
+ return percent + '%';
+ }
+ return getStringSize(_this4.state[key]);
+ };
+ var width = size && typeof size.width !== 'undefined' && !this.state.isResizing ? getStringSize(size.width) : getSize('width');
+ var height = size && typeof size.height !== 'undefined' && !this.state.isResizing ? getStringSize(size.height) : getSize('height');
+ return { width: width, height: height };
+ }
+ }]);
+ return Resizable;
+ }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
+
+ Resizable.defaultProps = {
+ onResizeStart: function onResizeStart() {},
+ onResize: function onResize() {},
+ onResizeStop: function onResizeStop() {},
+ enable: {
+ top: true,
+ right: true,
+ bottom: true,
+ left: true,
+ topRight: true,
+ bottomRight: true,
+ bottomLeft: true,
+ topLeft: true
+ },
+ style: {},
+ grid: [1, 1],
+ lockAspectRatio: false,
+ lockAspectRatioExtraWidth: 0,
+ lockAspectRatioExtraHeight: 0,
+ scale: 1,
+ resizeRatio: 1
+ };
+
+ /* harmony default export */ __webpack_exports__["default"] = (Resizable);
+
+
+ /***/ }),
+ /* 178 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 179 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 180 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 181 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ module.exports = {
+ 'lang': 'zh-cn',
+ 'resetSettings': '还原设置',
+ 'include': '包含',
+ 'exclusive': '不包含',
+ 'equal': '等于',
+ 'unequal': '不等于',
+ 'begin': '以开始',
+ 'end': '以结尾',
+ 'greater_than': '大于',
+ 'great_than_equal_to': '大于等于',
+ 'less_than': '小于',
+ 'less_than_equal_to': '小于等于',
+ 'be_equal_to': '等于',
+ 'not_equal_to': '不等于',
+ "no_data": '暂无数据',
+ "bool_true": "是",
+ "bool_false": "否",
+ 'en-us': {
+ 'resetSettings': 'Reset',
+ 'include': 'Include',
+ 'exclusive': 'Not include',
+ 'equal': 'Equal to',
+ 'unequal': 'Not equal to',
+ 'begin': 'Begin with',
+ 'end': 'End with',
+ 'greater_than': 'Greater than',
+ 'great_than_equal_to': 'Greater than or equal to',
+ 'less_than': 'Less than',
+ 'less_than_equal_to': 'Less than or equal to',
+ 'be_equal_to': 'Equal to',
+ 'not_equal_to': 'Not equal to',
+ "no_data": 'No data',
+ "bool_true": "true",
+ "bool_false": "false"
+ },
+ 'zh-tw': {
+ 'resetSettings': '還原設置',
+ 'include': '包含',
+ 'exclusive': '不包含',
+ 'equal': '等於',
+ 'unequal': '不等於',
+ 'begin': '以開始',
+ 'end': '以結尾',
+ 'greater_than': '大於',
+ 'great_than_equal_to': '大於等於',
+ 'less_than': '小於',
+ 'less_than_equal to': '小於等於',
+ 'be_equal_to': '等於',
+ 'not_equal_to': '不等於',
+ "no_data": '暫無數據',
+ "bool_true": "是",
+ "bool_false": "否"
+ }
+ };
+
+ /***/ }),
+ /* 182 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports.getComponentLocale = getComponentLocale;
+ exports.getLocaleCode = getLocaleCode;
+ function getComponentLocale(props, context, componentName, getDefaultLocale) {
+ var locale = {};
+ if (context && context.beeLocale && context.beeLocale[componentName]) {
+ locale = context.beeLocale[componentName];
+ } else {
+ var defaultLocale = getDefaultLocale();
+
+ locale = defaultLocale["default"] || defaultLocale;
+ }
+
+ var result = _extends({}, locale, props.locale);
+ if (props.locale) {
+ result.lang = _extends({}, locale.lang, props.locale.lang);
+ } else {
+ result.lang = _extends({}, locale.lang);
+ }
+
+ return result;
+ }
+
+ function getLocaleCode(context) {
+ var localeCode = context.beeLocale && context.beeLocale.lang;
+ // Had use LocaleProvide but didn't set locale
+ if (context.beeLocale && context.beeLocale.exist && !localeCode) {
+ return 'zh-cn';
+ }
+ return localeCode;
+ }
+
+ /***/ }),
+ /* 183 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (United Kingdom) [en-gb]
+ //! author : Chris Gedrim : https://github.com/chrisgedrim
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enGb = moment.defineLocale('en-gb', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return enGb;
+
+ })));
+
+
+ /***/ }),
+ /* 184 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _mapSelf = __webpack_require__(466);
+
+ var _mapSelf2 = _interopRequireDefault(_mapSelf);
+
+ var _MonthPanel = __webpack_require__(1274);
+
+ var _MonthPanel2 = _interopRequireDefault(_MonthPanel);
+
+ var _YearPanel = __webpack_require__(468);
+
+ var _YearPanel2 = _interopRequireDefault(_YearPanel);
+
+ var _DecadePanel = __webpack_require__(469);
+
+ var _DecadePanel2 = _interopRequireDefault(_DecadePanel);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function goMonth(direction) {
+ var next = this.props.value.clone();
+ next.add(direction, 'months');
+ this.props.onValueChange(next);
+ }
+
+ function goYear(direction) {
+ var next = this.props.value.clone();
+ next.add(direction, 'years');
+ this.props.onValueChange(next);
+ }
+
+ function showIf(condition, el) {
+ return condition ? el : null;
+ }
+
+ var CalendarHeader = function (_React$Component) {
+ _inherits(CalendarHeader, _React$Component);
+
+ function CalendarHeader(props) {
+ _classCallCheck(this, CalendarHeader);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ _this.nextMonth = goMonth.bind(_this, 1);
+ _this.previousMonth = goMonth.bind(_this, -1);
+ _this.nextYear = goYear.bind(_this, 1);
+ _this.previousYear = goYear.bind(_this, -1);
+
+ _this.state = { yearPanelReferer: null };
+ return _this;
+ }
+
+ CalendarHeader.prototype.render = function render() {
+ var _this2 = this;
+
+ var props = this.props;
+ var prefixCls = props.prefixCls,
+ locale = props.locale,
+ mode = props.mode,
+ value = props.value,
+ showTimePicker = props.showTimePicker,
+ enableNext = props.enableNext,
+ enablePrev = props.enablePrev,
+ disabledMonth = props.disabledMonth,
+ renderFooter = props.renderFooter,
+ onChange = props.onChange,
+ onClear = props.onClear,
+ showMonthInput = props.showMonthInput;
+
+
+ var panel = null;
+ if (mode === 'month') {
+ panel = _react2["default"].createElement(_MonthPanel2["default"], {
+ showDateInput: true,
+ locale: locale,
+ showMonthInput: showMonthInput,
+ defaultValue: value,
+ rootPrefixCls: prefixCls,
+ onSelect: this.onMonthSelect,
+ onYearPanelShow: function onYearPanelShow() {
+ return _this2.showYearPanel('month');
+ },
+ disabledDate: disabledMonth,
+ cellRender: props.monthCellRender,
+ contentRender: props.monthCellContentRender,
+ renderFooter: renderFooter,
+ onChange: onChange,
+ onClear: onClear,
+ value: value
+ });
+ }
+ if (mode === 'year') {
+ panel = _react2["default"].createElement(_YearPanel2["default"], {
+ locale: locale,
+ defaultValue: value,
+ rootPrefixCls: prefixCls,
+ onSelect: this.onYearSelect,
+ onDecadePanelShow: this.showDecadePanel,
+ renderFooter: renderFooter
+ });
+ }
+ if (mode === 'decade') {
+ panel = _react2["default"].createElement(_DecadePanel2["default"], {
+ locale: locale,
+ defaultValue: value,
+ rootPrefixCls: prefixCls,
+ onSelect: this.onDecadeSelect,
+ renderFooter: renderFooter
+ });
+ }
+
+ return _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-header' },
+ _react2["default"].createElement(
+ 'div',
+ { style: { position: 'relative' }, className: prefixCls + '-header-btns' },
+ showIf(enablePrev && !showTimePicker, _react2["default"].createElement('a', {
+ className: prefixCls + '-prev-year-btn',
+ role: 'button',
+ onClick: this.previousYear,
+ title: locale.previousYear
+ })),
+ showIf(enablePrev && !showTimePicker, _react2["default"].createElement('a', {
+ className: prefixCls + '-prev-month-btn',
+ role: 'button',
+ onClick: this.previousMonth,
+ title: locale.previousMonth
+ })),
+ this.monthYearElement(showTimePicker),
+ showIf(enableNext && !showTimePicker, _react2["default"].createElement('a', {
+ className: prefixCls + '-next-month-btn',
+ onClick: this.nextMonth,
+ title: locale.nextMonth
+ })),
+ showIf(enableNext && !showTimePicker, _react2["default"].createElement('a', {
+ className: prefixCls + '-next-year-btn',
+ onClick: this.nextYear,
+ title: locale.nextYear
+ }))
+ ),
+ panel
+ );
+ };
+
+ return CalendarHeader;
+ }(_react2["default"].Component);
+
+ CalendarHeader.propTypes = {
+ prefixCls: _propTypes2["default"].string,
+ value: _propTypes2["default"].object,
+ onValueChange: _propTypes2["default"].func,
+ showTimePicker: _propTypes2["default"].bool,
+ onPanelChange: _propTypes2["default"].func,
+ locale: _propTypes2["default"].object,
+ enablePrev: _propTypes2["default"].any,
+ enableNext: _propTypes2["default"].any,
+ disabledMonth: _propTypes2["default"].func,
+ renderFooter: _propTypes2["default"].func,
+ onMonthSelect: _propTypes2["default"].func
+ };
+ CalendarHeader.defaultProps = {
+ enableNext: 1,
+ enablePrev: 1,
+ onPanelChange: function onPanelChange() {},
+ onValueChange: function onValueChange() {}
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.onMonthSelect = function (value) {
+ _this3.props.onPanelChange(value, 'date');
+ if (_this3.props.onMonthSelect) {
+ _this3.props.onMonthSelect(value);
+ } else {
+ _this3.props.onValueChange(value);
+ }
+ };
+
+ this.onYearSelect = function (value) {
+ var referer = _this3.state.yearPanelReferer;
+ _this3.setState({ yearPanelReferer: null });
+ _this3.props.onPanelChange(value, referer);
+ _this3.props.onValueChange(value);
+ };
+
+ this.onDecadeSelect = function (value) {
+ _this3.props.onPanelChange(value, 'year');
+ _this3.props.onValueChange(value);
+ };
+
+ this.monthYearElement = function (showTimePicker) {
+ var props = _this3.props;
+ var prefixCls = props.prefixCls;
+ var locale = props.locale;
+ var value = props.value;
+ var localeData = value.localeData && value.localeData();
+ var monthBeforeYear = locale.monthBeforeYear;
+ var selectClassName = prefixCls + '-' + (monthBeforeYear ? 'my-select' : 'ym-select');
+ var timeClassName = showTimePicker ? ' ' + prefixCls + '-time-status' : '';
+ var year = _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-year-select' + timeClassName,
+ role: 'button',
+ onClick: showTimePicker ? null : function () {
+ return _this3.showYearPanel('date');
+ },
+ title: showTimePicker ? null : locale.yearSelect
+ },
+ value.format(locale.yearFormat)
+ );
+ var month = _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-month-select' + timeClassName,
+ role: 'button',
+ onClick: showTimePicker ? null : _this3.showMonthPanel,
+ title: showTimePicker ? null : locale.monthSelect
+ },
+ locale.monthFormat ? value.format(locale.monthFormat) : localeData.monthsShort(value)
+ );
+ var day = void 0;
+ if (showTimePicker) {
+ day = _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-day-select' + timeClassName,
+ role: 'button'
+ },
+ value.format(locale.dayFormat)
+ );
+ }
+ var my = [];
+ if (monthBeforeYear) {
+ my = [month, day, year];
+ } else {
+ my = [year, month, day];
+ }
+ return _react2["default"].createElement(
+ 'span',
+ { className: selectClassName },
+ (0, _mapSelf2["default"])(my)
+ );
+ };
+
+ this.showMonthPanel = function () {
+ // null means that users' interaction doesn't change value
+ _this3.props.onPanelChange(null, 'month');
+ };
+
+ this.showYearPanel = function (referer) {
+ _this3.setState({ yearPanelReferer: referer });
+ _this3.props.onPanelChange(null, 'year');
+ };
+
+ this.showDecadePanel = function () {
+ _this3.props.onPanelChange(null, 'decade');
+ };
+ };
+
+ exports["default"] = CalendarHeader;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 185 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 186 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.commonMixinWrapper = exports.defaultProp = exports.propType = undefined;
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _en_US = __webpack_require__(475);
+
+ var _en_US2 = _interopRequireDefault(_en_US);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function noop() {}
+
+ var propType = exports.propType = {
+ className: _propTypes2["default"].string,
+ locale: _propTypes2["default"].object,
+ style: _propTypes2["default"].object,
+ visible: _propTypes2["default"].bool,
+ onSelect: _propTypes2["default"].func,
+ prefixCls: _propTypes2["default"].string,
+ onChange: _propTypes2["default"].func,
+ onOk: _propTypes2["default"].func
+ };
+
+ var defaultProp = exports.defaultProp = {
+ locale: _en_US2["default"],
+ style: {},
+ visible: true,
+ prefixCls: 'rc-calendar',
+ className: '',
+ onSelect: noop,
+ onChange: noop,
+ onClear: noop,
+ renderFooter: function renderFooter() {
+ return null;
+ },
+ renderSidebar: function renderSidebar() {
+ return null;
+ }
+ };
+
+ var commonMixinWrapper = exports.commonMixinWrapper = function commonMixinWrapper(ComposeComponent) {
+ var _class, _temp2;
+
+ return _temp2 = _class = function (_ComposeComponent) {
+ _inherits(_class, _ComposeComponent);
+
+ function _class() {
+ var _temp, _this, _ret;
+
+ _classCallCheck(this, _class);
+
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ComposeComponent.call.apply(_ComposeComponent, [this].concat(args))), _this), _this.getFormat = function () {
+ var format = _this.props.format;
+ var _this$props = _this.props,
+ locale = _this$props.locale,
+ timePicker = _this$props.timePicker;
+
+ if (!format) {
+ if (timePicker) {
+ format = locale.dateTimeFormat;
+ } else {
+ format = locale.dateFormat;
+ }
+ }
+ return format;
+ }, _this.focus = function () {
+ if (_this.focusElement) {
+ _this.focusElement.focus();
+ } else if (_this.rootInstance) {
+ _this.rootInstance.focus();
+ }
+ }, _this.saveFocusElement = function (focusElement) {
+ _this.focusElement = focusElement;
+ }, _this.saveRoot = function (root) {
+ _this.rootInstance = root;
+ }, _temp), _possibleConstructorReturn(_this, _ret);
+ }
+
+ _class.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return this.props.visible || nextProps.visible;
+ };
+
+ return _class;
+ }(ComposeComponent), _class.displayName = 'CommonMixinWrapper', _class.defaultProps = ComposeComponent.defaultProps, _class.getDerivedStateFromProps = ComposeComponent.getDerivedStateFromProps, _temp2;
+ };
+
+ /***/ }),
+ /* 187 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports.browser = browser;
+ exports.getOffset = getOffset;
+ exports.loopAllChildren = loopAllChildren;
+ exports.isInclude = isInclude;
+ exports.filterParentPosition = filterParentPosition;
+ exports.handleCheckState = handleCheckState;
+ exports.getCheck = getCheck;
+ exports.getStrictlyValue = getStrictlyValue;
+ exports.arraysEqual = arraysEqual;
+ exports.closest = closest;
+ exports.isTreeNode = isTreeNode;
+ exports.toArray = toArray;
+ exports.getNodeChildren = getNodeChildren;
+ exports.warnOnlyTreeNode = warnOnlyTreeNode;
+ exports.convertListToTree = convertListToTree;
+ exports.debounce = debounce;
+ exports.throttle = throttle;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } /* eslint no-loop-func: 0*/
+
+ function browser(navigator) {
+ var tem = void 0;
+ var ua = navigator.userAgent;
+ var M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
+ if (/trident/i.test(M[1])) {
+ tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
+ return 'IE ' + (tem[1] || '');
+ }
+ if (M[1] === 'Chrome') {
+ tem = ua.match(/\b(OPR|Edge)\/(\d+)/);
+ if (tem) return tem.slice(1).join(' ').replace('OPR', 'Opera');
+ }
+ M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
+ tem = ua.match(/version\/(\d+)/i);
+ if (tem) {
+ M.splice(1, 1, tem[1]);
+ }
+ return M.join(' ');
+ }
+
+ // export function getOffset(el) {
+ // const obj = el.getBoundingClientRect();
+ // return {
+ // left: obj.left + document.body.scrollLeft,
+ // top: obj.top + document.body.scrollTop,
+ // width: obj.width,
+ // height: obj.height
+ // };
+ // }
+
+ // // iscroll offset
+ // offset = function (el) {
+ // var left = -el.offsetLeft,
+ // top = -el.offsetTop;
+
+ // // jshint -W084
+ // while (el = el.offsetParent) {
+ // left -= el.offsetLeft;
+ // top -= el.offsetTop;
+ // }
+ // // jshint +W084
+
+ // return {
+ // left: left,
+ // top: top
+ // };
+ // }
+
+ /* eslint-disable */
+ function getOffset(ele) {
+ var doc = void 0,
+ win = void 0,
+ docElem = void 0,
+ rect = void 0;
+
+ if (!ele.getClientRects().length) {
+ return { top: 0, left: 0 };
+ }
+
+ rect = ele.getBoundingClientRect();
+
+ if (rect.width || rect.height) {
+ doc = ele.ownerDocument;
+ win = doc.defaultView;
+ docElem = doc.documentElement;
+
+ return {
+ top: rect.top + win.pageYOffset - docElem.clientTop,
+ left: rect.left + win.pageXOffset - docElem.clientLeft
+ };
+ }
+
+ return rect;
+ }
+ /* eslint-enable */
+
+ function getChildrenlength(children) {
+ var len = 1;
+ if (Array.isArray(children)) {
+ len = children.length;
+ }
+ return len;
+ }
+
+ function getSiblingPosition(index, len, siblingPosition) {
+ if (len === 1) {
+ siblingPosition.first = true;
+ siblingPosition.last = true;
+ } else {
+ siblingPosition.first = index === 0;
+ siblingPosition.last = index === len - 1;
+ }
+ return siblingPosition;
+ }
+
+ function loopAllChildren(childs, callback, parent) {
+ var loop = function loop(children, level, _parent) {
+ var len = getChildrenlength(children);
+ _react2["default"].Children.forEach(children, function (item, index) {
+ var pos = level + '-' + index;
+ if (item.props.children && item.type && item.type.isTreeNode) {
+ loop(item.props.children, pos, { node: item, pos: pos });
+ }
+ callback(item, index, pos, item.key || pos, getSiblingPosition(index, len, {}), _parent);
+ });
+ };
+ loop(childs, 0, parent);
+ }
+
+ function isInclude(smallArray, bigArray) {
+ return smallArray.every(function (ii, i) {
+ return ii === bigArray[i];
+ });
+ }
+ // console.log(isInclude(['0', '1'], ['0', '10', '1']));
+
+
+ // arr.length === 628, use time: ~20ms
+ function filterParentPosition(arr) {
+ var levelObj = {};
+ arr.forEach(function (item) {
+ var posLen = item.split('-').length;
+ if (!levelObj[posLen]) {
+ levelObj[posLen] = [];
+ }
+ levelObj[posLen].push(item);
+ });
+ var levelArr = Object.keys(levelObj).sort();
+
+ var _loop = function _loop(i) {
+ if (levelArr[i + 1]) {
+ levelObj[levelArr[i]].forEach(function (ii) {
+ var _loop2 = function _loop2(j) {
+ levelObj[levelArr[j]].forEach(function (_i, index) {
+ if (isInclude(ii.split('-'), _i.split('-'))) {
+ levelObj[levelArr[j]][index] = null;
+ }
+ });
+ levelObj[levelArr[j]] = levelObj[levelArr[j]].filter(function (p) {
+ return p;
+ });
+ };
+
+ for (var j = i + 1; j < levelArr.length; j++) {
+ _loop2(j);
+ }
+ });
+ }
+ };
+
+ for (var i = 0; i < levelArr.length; i++) {
+ _loop(i);
+ }
+ var nArr = [];
+ levelArr.forEach(function (i) {
+ nArr = nArr.concat(levelObj[i]);
+ });
+ return nArr;
+ }
+ // console.log(filterParentPosition(
+ // ['0-2', '0-3-3', '0-10', '0-10-0', '0-0-1', '0-0', '0-1-1', '0-1']
+ // ));
+
+
+ function stripTail(str) {
+ var arr = str.match(/(.+)(-[^-]+)$/);
+ var st = '';
+ if (arr && arr.length === 3) {
+ st = arr[1];
+ }
+ return st;
+ }
+ function splitPosition(pos) {
+ return pos.split('-');
+ }
+
+ function handleCheckState(obj, checkedPositionArr, checkIt) {
+ // console.log(stripTail('0-101-000'));
+ var objKeys = Object.keys(obj);
+ // let s = Date.now();
+ objKeys.forEach(function (i, index) {
+ var iArr = splitPosition(i);
+ var saved = false;
+ checkedPositionArr.forEach(function (_pos) {
+ // 设置子节点,全选或全不选
+ var _posArr = splitPosition(_pos);
+ if (iArr.length > _posArr.length && isInclude(_posArr, iArr)) {
+ obj[i].halfChecked = false;
+ obj[i].checked = checkIt;
+ objKeys[index] = null;
+ }
+ if (iArr[0] === _posArr[0] && iArr[1] === _posArr[1]) {
+ // 如果
+ saved = true;
+ }
+ });
+ if (!saved) {
+ objKeys[index] = null;
+ }
+ });
+ // TODO: 循环 2470000 次耗时约 1400 ms。 性能瓶颈!
+ // console.log(Date.now()-s, checkedPositionArr.length * objKeys.length);
+ objKeys = objKeys.filter(function (i) {
+ return i;
+ }); // filter non null;
+
+ var _loop3 = function _loop3(_pIndex) {
+ // 循环设置父节点的 选中 或 半选状态
+ var loop = function loop(__pos) {
+ var _posLen = splitPosition(__pos).length;
+ if (_posLen <= 2) {
+ // e.g. '0-0', '0-1'
+ return;
+ }
+ var sibling = 0;
+ var siblingChecked = 0;
+ var parentPosition = stripTail(__pos);
+ objKeys.forEach(function (i /* , index*/) {
+ var iArr = splitPosition(i);
+ if (iArr.length === _posLen && isInclude(splitPosition(parentPosition), iArr)) {
+ sibling++;
+ if (obj[i].checked) {
+ siblingChecked++;
+ var _i = checkedPositionArr.indexOf(i);
+ if (_i > -1) {
+ checkedPositionArr.splice(_i, 1);
+ if (_i <= _pIndex) {
+ _pIndex--;
+ }
+ }
+ } else if (obj[i].halfChecked) {
+ siblingChecked += 0.5;
+ }
+ // objKeys[index] = null;
+ }
+ });
+ // objKeys = objKeys.filter(i => i); // filter non null;
+ var parent = obj[parentPosition];
+ // sibling 不会等于0
+ // 全不选 - 全选 - 半选
+ if (siblingChecked === 0) {
+ parent.checked = false;
+ parent.halfChecked = false;
+ } else if (siblingChecked === sibling) {
+ parent.checked = true;
+ parent.halfChecked = false;
+ } else {
+ parent.halfChecked = true;
+ parent.checked = false;
+ }
+ loop(parentPosition);
+ };
+ loop(checkedPositionArr[_pIndex], _pIndex);
+ pIndex = _pIndex;
+ };
+
+ for (var pIndex = 0; pIndex < checkedPositionArr.length; pIndex++) {
+ _loop3(pIndex);
+ }
+ // console.log(Date.now()-s, objKeys.length, checkIt);
+ }
+
+ function getCheck(treeNodesStates) {
+ var halfCheckedKeys = [];
+ var checkedKeys = [];
+ var checkedNodes = [];
+ var checkedNodesPositions = [];
+ Object.keys(treeNodesStates).forEach(function (item) {
+ var itemObj = treeNodesStates[item];
+ if (itemObj.checked) {
+ checkedKeys.push(itemObj.key);
+ checkedNodes.push(itemObj.node);
+ checkedNodesPositions.push({ node: itemObj.node, pos: item });
+ } else if (itemObj.halfChecked) {
+ halfCheckedKeys.push(itemObj.key);
+ }
+ });
+ return {
+ halfCheckedKeys: halfCheckedKeys, checkedKeys: checkedKeys, checkedNodes: checkedNodes, checkedNodesPositions: checkedNodesPositions, treeNodesStates: treeNodesStates
+ };
+ }
+
+ function getStrictlyValue(checkedKeys, halfChecked) {
+ if (halfChecked) {
+ return { checked: checkedKeys, halfChecked: halfChecked };
+ }
+ return checkedKeys;
+ }
+
+ function arraysEqual(a, b) {
+ if (a === b) return true;
+ if (a === null || typeof a === 'undefined' || b === null || typeof b === 'undefined') {
+ return false;
+ }
+ if (a.length !== b.length) return false;
+
+ // If you don't care about the order of the elements inside
+ // the array, you should sort both arrays here.
+
+ for (var i = 0; i < a.length; ++i) {
+ if (a[i] !== b[i]) return false;
+ }
+ return true;
+ }
+
+ function closest(el, selector) {
+ var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
+
+ while (el) {
+ if (matchesSelector.call(el, selector)) {
+ return el;
+ } else {
+ el = el.parentElement;
+ }
+ }
+ return null;
+ }
+
+ function isTreeNode(node) {
+ return node && node.type && node.type.isTreeNode;
+ }
+
+ function toArray(children) {
+ var ret = [];
+ _react2["default"].Children.forEach(children, function (c) {
+ ret.push(c);
+ });
+ return ret;
+ }
+
+ function getNodeChildren(children) {
+ return toArray(children).filter(isTreeNode);
+ }
+
+ var onlyTreeNodeWarned = false;
+
+ function warnOnlyTreeNode() {
+ if (onlyTreeNodeWarned) return;
+ onlyTreeNodeWarned = true;
+ console.warn('Tree only accept TreeNode as children.');
+ }
+
+ /**
+ * 将一维数组转换为树结构
+ * @param {*} treeData 扁平结构的 List 数组
+ * @param {*} attr 属性配置设置
+ * @param {*} flatTreeKeysMap 存储所有 key-value 的映射,方便获取各节点信息
+ */
+ function convertListToTree(treeData, attr, flatTreeKeysMap) {
+ var tree = []; //存储所有一级节点
+ var resData = treeData,
+ //resData 存储截取的节点 + 父节点(除一级节点外)
+ resKeysMap = {},
+ //resData 的Map映射
+ treeKeysMap = {}; //tree 的Map映射
+ resData.map(function (element) {
+ var key = attr.id;
+ resKeysMap[element[key]] = element;
+ });
+ // 查找父节点,为了补充不完整的数据结构
+ var findParentNode = function findParentNode(node) {
+ var parentKey = node[attr.parendId];
+ if (parentKey !== attr.rootId) {
+ //如果不是根节点,则继续递归
+ var item = flatTreeKeysMap[parentKey];
+ // 用 resKeysMap 判断,避免重复计算某节点的父节点
+ if (resKeysMap.hasOwnProperty(item[attr.id])) return;
+ resData.unshift(item);
+ resKeysMap[item[attr.id]] = item;
+ findParentNode(item);
+ } else {
+ // 用 treeKeysMap 判断,避免重复累加
+ if (!treeKeysMap.hasOwnProperty(node[attr.id])) {
+ var key = node.key,
+ title = node.title,
+ children = node.children,
+ isLeaf = node.isLeaf,
+ otherProps = _objectWithoutProperties(node, ['key', 'title', 'children', 'isLeaf']);
+
+ var obj = {
+ key: key,
+ title: title,
+ isLeaf: isLeaf,
+ children: []
+ };
+ tree.push(_extends(obj, _extends({}, otherProps)));
+ treeKeysMap[key] = node;
+ }
+ }
+ };
+ // 遍历 resData ,找到所有的一级节点
+ for (var i = 0; i < resData.length; i++) {
+ var item = resData[i];
+ if (item[attr.parendId] === attr.rootId && !treeKeysMap.hasOwnProperty(item[attr.id])) {
+ //如果是根节点,就存放进 tree 对象中
+ var key = item.key,
+ title = item.title,
+ children = item.children,
+ otherProps = _objectWithoutProperties(item, ['key', 'title', 'children']);
+
+ var obj = {
+ key: item[attr.id],
+ title: item[attr.name],
+ isLeaf: item[attr.isLeaf],
+ children: []
+ };
+ tree.push(_extends(obj, _extends({}, otherProps)));
+ treeKeysMap[key] = item;
+ resData.splice(i, 1);
+ i--;
+ } else {
+ //递归查找根节点信息
+ findParentNode(item);
+ }
+ }
+ // console.log('resData',resKeysMap);
+ var run = function run(treeArrs) {
+ if (resData.length > 0) {
+ for (var _i2 = 0; _i2 < treeArrs.length; _i2++) {
+ for (var j = 0; j < resData.length; j++) {
+ var _item = resData[j];
+ if (treeArrs[_i2].key === _item[attr.parendId]) {
+ var _key = _item.key,
+ _title = _item.title,
+ _children = _item.children,
+ _otherProps = _objectWithoutProperties(_item, ['key', 'title', 'children']);
+
+ var _obj = {
+ key: _item[attr.id],
+ title: _item[attr.name],
+ isLeaf: _item[attr.isLeaf],
+ children: []
+ };
+ treeArrs[_i2].children.push(_extends(_obj, _extends({}, _otherProps)));
+ resData.splice(j, 1);
+ j--;
+ }
+ }
+ run(treeArrs[_i2].children);
+ }
+ }
+ };
+ run(tree);
+ return tree;
+ }
+
+ function isObject(value) {
+ var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);
+ return value != null && (type == 'object' || type == 'function');
+ }
+
+ /**
+ * 函数防抖
+ * @param {*} func
+ * @param {*} wait
+ * @param {*} immediate
+ */
+ function debounce(func, wait, immediate) {
+ var timeout = void 0;
+ return function debounceFunc() {
+ var context = this;
+ var args = arguments;
+ // https://fb.me/react-event-pooling
+ if (args[0] && args[0].persist) {
+ args[0].persist();
+ }
+ var later = function later() {
+ timeout = null;
+ if (!immediate) {
+ func.apply(context, args);
+ }
+ };
+ var callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) {
+ func.apply(context, args);
+ }
+ };
+ }
+
+ /**
+ * 函数节流
+ * @param {*} func 延时调用函数
+ * @param {*} wait 延迟多长时间
+ * @param {*} options 至少多长时间触发一次
+ * @return Function 延迟执行的方法
+ */
+ function throttle(func, wait, options) {
+ var leading = true;
+ var trailing = true;
+
+ if (typeof func !== 'function') {
+ throw new TypeError('Expected a function');
+ }
+ if (isObject(options)) {
+ leading = 'leading' in options ? !!options.leading : leading;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
+ }
+ return debounce(func, wait, {
+ leading: leading,
+ trailing: trailing,
+ 'maxWait': wait
+ });
+ }
+
+ /***/ }),
+ /* 188 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1322);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1323);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1324);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1325);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1326);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1327);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1328);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1329);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1330);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(481);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1331);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1333);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1334);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 189 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 190 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 191 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.destroyFns = undefined;
+
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+ var _extends2;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _events = __webpack_require__(163);
+
+ var _events2 = _interopRequireDefault(_events);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ var _scrollbarSize = __webpack_require__(104);
+
+ var _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);
+
+ var _scrollTop = __webpack_require__(45);
+
+ var _scrollTop2 = _interopRequireDefault(_scrollTop);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _Modal = __webpack_require__(164);
+
+ var _Modal2 = _interopRequireDefault(_Modal);
+
+ var _isOverflowing = __webpack_require__(105);
+
+ var _isOverflowing2 = _interopRequireDefault(_isOverflowing);
+
+ var _tinperBeeCore = __webpack_require__(33);
+
+ var _beeTransition = __webpack_require__(1379);
+
+ var _ModalBody = __webpack_require__(1383);
+
+ var _ModalBody2 = _interopRequireDefault(_ModalBody);
+
+ var _ModalDialog = __webpack_require__(1384);
+
+ var _ModalDialog2 = _interopRequireDefault(_ModalDialog);
+
+ var _ModalFooter = __webpack_require__(1390);
+
+ var _ModalFooter2 = _interopRequireDefault(_ModalFooter);
+
+ var _ModalHeader = __webpack_require__(1391);
+
+ var _ModalHeader2 = _interopRequireDefault(_ModalHeader);
+
+ var _ModalTitle = __webpack_require__(1392);
+
+ var _ModalTitle2 = _interopRequireDefault(_ModalTitle);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ var propTypes = _extends({}, _Modal2["default"].propTypes, _ModalDialog2["default"].propTypes, (_extends2 = {
+
+ /**
+ * 是否弹出遮罩层/遮罩层点击是否触发关闭
+ */
+ backdrop: _propTypes2["default"].oneOf(['static', true, false]),
+
+ /**
+ * 点击遮罩层是否允许关闭
+ */
+ backdropClosable: _propTypes2["default"].bool,
+ /**
+ * esc触发关闭
+ */
+ keyboard: _propTypes2["default"].bool,
+
+ /**
+ * 显隐时是否使用动画
+ */
+ animation: _propTypes2["default"].bool,
+
+ /**
+ * 传递给模态框的样式
+ */
+ dialogComponentClass: _tinperBeeCore.elementType,
+
+ /**
+ * 自动设置焦点
+ */
+ autoFocus: _propTypes2["default"].bool,
+
+ /**
+ * 防止打开时焦点离开模态框
+ */
+ enforceFocus: _propTypes2["default"].bool,
+
+ /**
+ * 是否打开模态框
+ */
+ show: _propTypes2["default"].bool,
+
+ /**
+ * 关闭时的钩子函数
+ */
+ onHide: _propTypes2["default"].func,
+
+ onEnter: _propTypes2["default"].func,
+
+ onEntering: _propTypes2["default"].func,
+
+ onEntered: _propTypes2["default"].func,
+
+ onExit: _propTypes2["default"].func,
+
+ onExiting: _propTypes2["default"].func,
+
+ onExited: _propTypes2["default"].func,
+
+ containerClassName: _propTypes2["default"].string
+ }, _defineProperty(_extends2, 'containerClassName', _propTypes2["default"].string), _defineProperty(_extends2, 'container', _Modal2["default"].propTypes.container), _defineProperty(_extends2, 'size', _propTypes2["default"].oneOf(["sm", "lg", "xlg", ""])), _defineProperty(_extends2, 'width', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'draggable', _propTypes2["default"].bool), _defineProperty(_extends2, 'resizable', _propTypes2["default"].bool), _defineProperty(_extends2, 'resizeClassName', _propTypes2["default"].string), _defineProperty(_extends2, 'onResizeStart', _propTypes2["default"].func), _defineProperty(_extends2, 'onResize', _propTypes2["default"].func), _defineProperty(_extends2, 'onResizeStop', _propTypes2["default"].func), _defineProperty(_extends2, 'minWidth', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'minHeight', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'maxWidth', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'maxHeight', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'bounds', _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])), _defineProperty(_extends2, 'className', _propTypes2["default"].string), _defineProperty(_extends2, 'centered', _propTypes2["default"].bool), _extends2));
+
+ var defaultProps = _extends({}, _Modal2["default"].defaultProps, {
+ backdropClosable: true,
+ animation: true,
+ dialogComponentClass: _ModalDialog2["default"],
+ draggable: false,
+ resizable: false,
+ clsPrefix: 'u-modal',
+ className: ''
+ });
+
+ var ModalFuncProps = {
+ prefixCls: _propTypes2["default"].string,
+ className: _propTypes2["default"].string,
+ show: _propTypes2["default"].bool,
+ title: _react2["default"].ReactNode,
+ content: _react2["default"].ReactNode,
+ onOk: _propTypes2["default"].func,
+ onCancel: _propTypes2["default"].func,
+ width: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
+ okText: _propTypes2["default"].string,
+ okType: _propTypes2["default"].string,
+ cancelText: _propTypes2["default"].string,
+ icon: _react2["default"].ReactNode,
+ backdrop: _propTypes2["default"].oneOf(['static', true, false])
+ };
+
+ var ModalFunc = function ModalFunc(props) {
+ destroy = function destroy() {};
+ update = function update(newConfig) {};
+ };
+
+ var destroyFns = exports.destroyFns = [];
+
+ var childContextTypes = {
+ $u_modal: _propTypes2["default"].shape({
+ onHide: _propTypes2["default"].func
+ })
+ };
+
+ var Modal = function (_React$Component) {
+ _inherits(Modal, _React$Component);
+
+ function Modal(props, context) {
+ _classCallCheck(this, Modal);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
+
+ _this.clearCenteredCls = function () {
+ var centered = _this.state.centered;
+
+ if (!centered) {
+ return;
+ }
+ _this.offsetTop = _this.getOffsetTop();
+ _this.setState({
+ centered: false
+ });
+ };
+
+ _this.state = {
+ style: {},
+ centered: props.centered,
+ draging: false,
+ draged: false
+ };
+ _this.offsetTop = 0;
+ _this.handleEntering = _this.handleEntering.bind(_this);
+ _this.handleExited = _this.handleExited.bind(_this);
+ _this.handleWindowResize = _this.handleWindowResize.bind(_this);
+ _this.handleDialogClick = _this.handleDialogClick.bind(_this);
+ return _this;
+ }
+
+ Modal.prototype.getChildContext = function getChildContext() {
+ return {
+ $u_modal: {
+ onHide: this.props.onHide
+ }
+ };
+ };
+
+ Modal.prototype.componentWillUnmount = function componentWillUnmount() {
+ // Clean up the listener if we need to.
+ this.handleExited();
+ };
+
+ Modal.prototype.handleEntering = function handleEntering() {
+ // FIXME: This should work even when animation is disabled.
+ _events2["default"].on(window, 'resize', this.handleWindowResize);
+ this.updateStyle();
+ };
+
+ Modal.prototype.handleExited = function handleExited() {
+ this.setState({
+ draging: false,
+ draged: false
+ });
+ // FIXME: This should work even when animation is disabled.
+ _events2["default"].off(window, 'resize', this.handleWindowResize);
+ };
+
+ Modal.prototype.handleWindowResize = function handleWindowResize() {
+ this.updateStyle();
+ };
+
+ Modal.prototype.handleDialogClick = function handleDialogClick(e) {
+ if (e.target !== e.currentTarget) {
+ return;
+ }
+
+ this.props.onHide();
+ };
+
+ Modal.prototype.updateStyle = function updateStyle() {
+ if (!_inDOM2["default"] || !this._modal) {
+ return;
+ }
+
+ var dialogNode = this._modal.getDialogElement();
+ var dialogHeight = dialogNode.scrollHeight;
+
+ var document = (0, _ownerDocument2["default"])(dialogNode);
+ var bodyIsOverflowing = false;
+ if (this.props.container) {
+ bodyIsOverflowing = (0, _isOverflowing2["default"])(_reactDom2["default"].findDOMNode(this.props.container));
+ }
+ var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight;
+
+ this.setState({
+ style: {
+ paddingRight: bodyIsOverflowing && !modalIsOverflowing ? (0, _scrollbarSize2["default"])() : undefined,
+ paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? (0, _scrollbarSize2["default"])() : undefined
+ }
+ });
+ };
+ //ResizeStart 时,若模态框设置了 `centered` ,需要把居中属性移除,并通过 offsetTop 制造垂直居中的假象
+ //fixbug: Resize 和 centered 一起使用时,拖拽交互不正确
+
+
+ //计算 ModalDialog 的 offsetTop
+ Modal.prototype.getOffsetTop = function getOffsetTop() {
+ var modalDialog = document.getElementsByClassName("u-modal-dialog") && document.getElementsByClassName("u-modal-dialog")[0];
+ var topPos = modalDialog && modalDialog.offsetTop;
+ return topPos;
+ };
+
+ Modal.prototype.render = function render() {
+ var _this2 = this;
+
+ var _props = this.props,
+ backdrop = _props.backdrop,
+ backdropClosable = _props.backdropClosable,
+ animation = _props.animation,
+ show = _props.show,
+ Dialog = _props.dialogComponentClass,
+ className = _props.className,
+ clsPrefix = _props.clsPrefix,
+ _props$style = _props.style,
+ style = _props$style === undefined ? {} : _props$style,
+ size = _props.size,
+ width = _props.width,
+ children = _props.children,
+ onEntering = _props.onEntering,
+ onExited = _props.onExited,
+ backdropClassName = _props.backdropClassName,
+ containerClassName = _props.containerClassName,
+ draggable = _props.draggable,
+ resizeClassName = _props.resizeClassName,
+ bounds = _props.bounds,
+ container = _props.container,
+ onStart = _props.onStart,
+ onStop = _props.onStop,
+ props = _objectWithoutProperties(_props, ['backdrop', 'backdropClosable', 'animation', 'show', 'dialogComponentClass', 'className', 'clsPrefix', 'style', 'size', 'width', 'children', 'onEntering', 'onExited', 'backdropClassName', 'containerClassName', 'draggable', 'resizeClassName', 'bounds', 'container', 'onStart', 'onStop']);
+
+ var _state = this.state,
+ centered = _state.centered,
+ draging = _state.draging,
+ draged = _state.draged;
+
+ var dialogMarginTop = 30;
+ //ResizeStart 时,计算 ModalDialog 的 offsetTop
+ var topPosStyle = this.offsetTop > 0 ? { top: this.offsetTop - dialogMarginTop } : null;
+
+ var _splitComponent = (0, _tinperBeeCore.splitComponent)(props, _Modal2["default"]),
+ _splitComponent2 = _slicedToArray(_splitComponent, 2),
+ baseModalProps = _splitComponent2[0],
+ dialogProps = _splitComponent2[1];
+
+ var inClassName = show && !animation && 'in';
+
+ var backdropClasses = _defineProperty({}, clsPrefix + '-backdrop', true);
+ var containerClasses = _defineProperty({}, clsPrefix + '-open', true);
+ if (!!centered) {
+ className += ' ' + clsPrefix + '-centered';
+ }
+ if (draging) {
+ className += ' draging';
+ }
+ if (draged) {
+ className += ' draged';
+ }
+ if (Number(width)) width += 'px';
+
+ var styleRes = _extends({}, this.state.style, style, topPosStyle);
+ if (width) {
+ _extends(styleRes, { width: width });
+ }
+ return _react2["default"].createElement(
+ _Modal2["default"],
+ _extends({}, baseModalProps, {
+ ref: function ref(c) {
+ _this2._modal = c;
+ },
+ show: show,
+ onEntering: (0, _tinperBeeCore.createChainedFunction)(onEntering, this.handleEntering),
+ onExited: (0, _tinperBeeCore.createChainedFunction)(onExited, this.handleExited),
+ backdrop: backdrop,
+ backdropClassName: (0, _classnames2["default"])(backdropClasses, inClassName, backdropClassName),
+ containerClassName: (0, _classnames2["default"])(containerClasses, containerClassName),
+ transition: animation ? _beeTransition.Fade : undefined,
+ dialogTransitionTimeout: Modal.TRANSITION_DURATION,
+ backdropTransitionTimeout: Modal.BACKDROP_TRANSITION_DURATION,
+ container: container
+ }),
+ _react2["default"].createElement(
+ Dialog,
+ _extends({}, dialogProps, {
+ style: styleRes,
+ className: (0, _classnames2["default"])(className, inClassName, backdropClassName),
+ onClick: backdrop === true && !!backdropClosable ? this.handleDialogClick : null,
+ size: size,
+ draggable: draggable,
+ bounds: bounds,
+ resizeClassName: resizeClassName,
+ clearCenteredCls: this.clearCenteredCls,
+ onStart: function onStart() {
+ _this2.setState({
+ draging: true,
+ draged: false
+ });
+ },
+ onStop: function onStop() {
+ _this2.setState({
+ draging: false,
+ draged: true
+ });
+ }
+ }),
+ children
+ )
+ );
+ };
+
+ return Modal;
+ }(_react2["default"].Component);
+
+ Modal.info = ModalFunc;
+ Modal.success = ModalFunc;
+ Modal.error = ModalFunc;
+ Modal.warn = ModalFunc;
+ Modal.warning = ModalFunc;
+ Modal.confirm = ModalFunc;
+
+ Modal.destroyAll = function () {
+ return;
+ };
+
+ Modal.propTypes = propTypes;
+ Modal.defaultProps = defaultProps;
+ Modal.childContextTypes = childContextTypes;
+
+ Modal.Body = _ModalBody2["default"];
+ Modal.Header = _ModalHeader2["default"];
+ Modal.Title = _ModalTitle2["default"];
+ Modal.Footer = _ModalFooter2["default"];
+
+ Modal.Dialog = _ModalDialog2["default"];
+
+ Modal.TRANSITION_DURATION = 200000;
+ Modal.BACKDROP_TRANSITION_DURATION = 10000;
+
+ exports["default"] = Modal;
+
+ /***/ }),
+ /* 192 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _properties = __webpack_require__(27);
+
+ var _properties2 = _interopRequireDefault(_properties);
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var transitionEndEvent = _properties2["default"].end;
+
+ //设置状态码
+ var UNMOUNTED = exports.UNMOUNTED = 0;
+ var EXITED = exports.EXITED = 1;
+ var ENTERING = exports.ENTERING = 2;
+ var ENTERED = exports.ENTERED = 3;
+ var EXITING = exports.EXITING = 4;
+
+ var propTypes = {
+ /**
+ * 是否触发动画
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * 不显示的时候是否移除组件
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * 如果设置为默认显示,挂载时显示动画
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * 设置超时时间,防止出现问题,可设置为>=动画时间
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * 退出组件时添加的class
+ */
+ exitedClassName: _propTypes2["default"].string,
+ /**
+ * 退出组件中添加的class
+ */
+ exitingClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画后添加的class
+ */
+ enteredClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画时添加的class
+ */
+ enteringClassName: _propTypes2["default"].string,
+
+ /**
+ * 进入动画开始时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * 进入动画中的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * 进入动画后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * 退出动画开始时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * 退出动画中的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * 退出动画后的钩子函数
+ */
+ onExited: _propTypes2["default"].func
+ };
+
+ function noop() {}
+
+ var defaultProps = {
+ "in": false,
+ unmountOnExit: false,
+ transitionAppear: false,
+ timeout: 5000,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+
+ /**
+ * 动画组件
+ */
+
+ var Transition = function (_Component) {
+ _inherits(Transition, _Component);
+
+ function Transition(props, context) {
+ _classCallCheck(this, Transition);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
+
+ var initialStatus = void 0;
+ if (props["in"]) {
+ // 在componentdidmount时开始执行动画
+ initialStatus = props.transitionAppear ? EXITED : ENTERED;
+ } else {
+ initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
+ }
+ _this.state = { status: initialStatus };
+
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ Transition.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.transitionAppear && this.props["in"]) {
+ this.performEnter(this.props);
+ }
+ };
+
+ Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps["in"] && this.props.unmountOnExit) {
+ if (this.state.status === UNMOUNTED) {
+ // 在componentDidUpdate执行动画.
+ this.setState({ status: EXITED });
+ }
+ } else {
+ this._needsUpdate = true;
+ }
+ };
+
+ Transition.prototype.componentDidUpdate = function componentDidUpdate() {
+ var status = this.state.status;
+
+ if (this.props.unmountOnExit && status === EXITED) {
+ // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
+ if (this.props["in"]) {
+ this.performEnter(this.props);
+ } else {
+ this.setState({ status: UNMOUNTED });
+ }
+
+ return;
+ }
+
+ // 确保只响应prop变化
+ if (this._needsUpdate) {
+ this._needsUpdate = false;
+
+ if (this.props["in"]) {
+ if (status === EXITING) {
+ this.performEnter(this.props);
+ } else if (status === EXITED) {
+ this.performEnter(this.props);
+ }
+ // 其他,当我们已经输入或输出
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ this.performExit(this.props);
+ }
+ // 我们已经输入或输出完成
+ }
+ }
+ };
+
+ Transition.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ Transition.prototype.performEnter = function performEnter(props) {
+ var _this2 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ // 这里接收新props
+ props.onEnter(node);
+
+ this.safeSetState({ status: ENTERING }, function () {
+ _this2.props.onEntering(node);
+
+ _this2.onTransitionEnd(node, function () {
+ _this2.safeSetState({ status: ENTERED }, function () {
+ _this2.props.onEntered(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.performExit = function performExit(props) {
+ var _this3 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ props.onExit(node);
+
+ this.safeSetState({ status: EXITING }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, function () {
+ _this3.safeSetState({ status: EXITED }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
+ // 确保在组件销毁后挂起的setState被消除
+ this.setState(nextState, this.setNextCallback(callback));
+ };
+
+ Transition.prototype.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
+ this.setNextCallback(handler);
+
+ if (node) {
+ if (transitionEndEvent == undefined) {
+ this.nextCallback();
+ } else {
+ (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
+ }
+ setTimeout(this.nextCallback, this.props.timeout);
+ } else {
+ setTimeout(this.nextCallback, 0);
+ }
+ };
+
+ Transition.prototype.render = function render() {
+ var status = this.state.status;
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _props = this.props,
+ children = _props.children,
+ className = _props.className,
+ childProps = _objectWithoutProperties(_props, ['children', 'className']);
+
+ Object.keys(Transition.propTypes).forEach(function (key) {
+ return delete childProps[key];
+ });
+
+ var transitionClassName = void 0;
+ if (status === EXITED) {
+ transitionClassName = this.props.exitedClassName;
+ } else if (status === ENTERING) {
+ transitionClassName = this.props.enteringClassName;
+ } else if (status === ENTERED) {
+ transitionClassName = this.props.enteredClassName;
+ } else if (status === EXITING) {
+ transitionClassName = this.props.exitingClassName;
+ }
+
+ var child = _react2["default"].Children.only(children);
+ return _react2["default"].cloneElement(child, _extends({}, childProps, {
+ className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
+ }));
+ };
+
+ return Transition;
+ }(_react.Component);
+
+ Transition.propTypes = propTypes;
+
+ Transition.defaultProps = defaultProps;
+
+ exports["default"] = Transition;
+
+ /***/ }),
+ /* 193 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Button = __webpack_require__(1394);
+
+ var _Button2 = _interopRequireDefault(_Button);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Button2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 194 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 195 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 196 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ * This source code is quoted from rc-slider.
+ * homepage: https://github.com/react-component/slider
+ */
+
+
+ var Handle = function (_React$Component) {
+ _inherits(Handle, _React$Component);
+
+ function Handle() {
+ _classCallCheck(this, Handle);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ Handle.prototype.render = function render() {
+ var _props = this.props,
+ className = _props.className,
+ vertical = _props.vertical,
+ offset = _props.offset,
+ style = _props.style,
+ disabled = _props.disabled,
+ min = _props.min,
+ max = _props.max,
+ value = _props.value,
+ restProps = _objectWithoutProperties(_props, ['className', 'vertical', 'offset', 'style', 'disabled', 'min', 'max', 'value']);
+
+ var postionStyle = vertical ? { bottom: offset + '%' } : { left: offset + '%' };
+ var elStyle = _extends({}, style, postionStyle);
+ var ariaProps = {};
+ if (value !== undefined) {
+ ariaProps = _extends({}, ariaProps, {
+ 'aria-valuemin': min,
+ 'aria-valuemax': max,
+ 'aria-valuenow': value,
+ 'aria-disabled': !!disabled
+ });
+ }
+
+ return _react2["default"].createElement('div', _extends({
+ role: 'slider',
+ tabIndex: '0'
+ }, ariaProps, restProps, {
+ className: className,
+ style: elStyle
+ }));
+ };
+
+ return Handle;
+ }(_react2["default"].Component);
+
+ exports["default"] = Handle;
+
+
+ Handle.propTypes = {
+ className: _propTypes2["default"].string,
+ vertical: _propTypes2["default"].bool,
+ offset: _propTypes2["default"].number,
+ style: _propTypes2["default"].object,
+ disabled: _propTypes2["default"].bool,
+ min: _propTypes2["default"].number,
+ max: _propTypes2["default"].number,
+ value: _propTypes2["default"].number
+ };
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 197 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.isEventFromHandle = isEventFromHandle;
+ exports.isValueOutOfRange = isValueOutOfRange;
+ exports.isNotTouchEvent = isNotTouchEvent;
+ exports.getClosestPoint = getClosestPoint;
+ exports.getPrecision = getPrecision;
+ exports.getMousePosition = getMousePosition;
+ exports.getTouchPosition = getTouchPosition;
+ exports.getHandleCenterPosition = getHandleCenterPosition;
+ exports.ensureValueInRange = ensureValueInRange;
+ exports.ensureValuePrecision = ensureValuePrecision;
+ exports.pauseEvent = pauseEvent;
+ exports.getKeyboardValueMutator = getKeyboardValueMutator;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _keyCode = __webpack_require__(501);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**
+ * This source code is quoted from rc-slider.
+ * homepage: https://github.com/react-component/slider
+ */
+
+
+ function isEventFromHandle(e, handles) {
+ return Object.keys(handles).some(function (key) {
+ return e.target === (0, _reactDom.findDOMNode)(handles[key]);
+ });
+ }
+
+ function isValueOutOfRange(value, _ref) {
+ var min = _ref.min,
+ max = _ref.max;
+
+ return value < min || value > max;
+ }
+
+ function isNotTouchEvent(e) {
+ //event.touches,多点触碰时的位置数组,比如缩放手势必须要用两指的触摸点,就是一个数组
+ return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;
+ }
+
+ function getClosestPoint(val, _ref2) {
+ var marks = _ref2.marks,
+ step = _ref2.step,
+ min = _ref2.min;
+
+ var points = Object.keys(marks).map(parseFloat);
+ if (step !== null) {
+ var closestStep = Math.round((val - min) / step) * step + min; //Math.round(((val - min) / step) * step) + min;
+ points.push(closestStep);
+ }
+ var diffs = points.map(function (point) {
+ return Math.abs(val - point);
+ });
+ return points[diffs.indexOf(Math.min.apply(Math, _toConsumableArray(diffs)))];
+ }
+
+ function getPrecision(step) {
+ var stepString = step.toString();
+ var precision = 0;
+ if (stepString.indexOf('.') >= 0) {
+ precision = stepString.length - stepString.indexOf('.') - 1;
+ }
+ return precision;
+ }
+
+ function getMousePosition(vertical, e) {
+ return vertical ? e.clientY : e.pageX;
+ }
+
+ function getTouchPosition(vertical, e) {
+ return vertical ? e.touches[0].clientY : e.touches[0].pageX;
+ }
+
+ function getHandleCenterPosition(vertical, handle) {
+ var coords = handle.getBoundingClientRect();
+ return vertical ? coords.top + coords.height * 0.5 : coords.left + coords.width * 0.5;
+ }
+
+ function ensureValueInRange(val, _ref3) {
+ var max = _ref3.max,
+ min = _ref3.min;
+
+ if (val <= min) {
+ return min;
+ }
+ if (val >= max) {
+ return max;
+ }
+ return val;
+ }
+
+ function ensureValuePrecision(val, props) {
+ var step = props.step;
+
+ var closestPoint = getClosestPoint(val, props);
+ return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));
+ }
+
+ function pauseEvent(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ }
+
+ function getKeyboardValueMutator(e) {
+ switch (e.keyCode) {
+ case _keyCode2["default"].UP:
+ case _keyCode2["default"].RIGHT:
+ return function (value, props) {
+ return value + props.step;
+ };
+
+ case _keyCode2["default"].DOWN:
+ case _keyCode2["default"].LEFT:
+ return function (value, props) {
+ return value - props.step;
+ };
+
+ case _keyCode2["default"].END:
+ return function (value, props) {
+ return props.max;
+ };
+ case _keyCode2["default"].HOME:
+ return function (value, props) {
+ return props.min;
+ };
+ case _keyCode2["default"].PAGE_UP:
+ return function (value, props) {
+ return value + props.step * 2;
+ };
+ case _keyCode2["default"].PAGE_DOWN:
+ return function (value, props) {
+ return value - props.step * 2;
+ };
+
+ default:
+ return undefined;
+ }
+ }
+
+ /***/ }),
+ /* 198 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 199 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 200 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = void 0;
+
+ var _inDOM = _interopRequireDefault(__webpack_require__(84));
+
+ var _default = function () {
+ // HTML DOM and SVG DOM may have different support levels,
+ // so we need to check on context instead of a document root element.
+ return _inDOM.default ? function (context, node) {
+ if (context.contains) {
+ return context.contains(node);
+ } else if (context.compareDocumentPosition) {
+ return context === node || !!(context.compareDocumentPosition(node) & 16);
+ } else {
+ return fallback(context, node);
+ }
+ } : fallback;
+ }();
+
+ exports.default = _default;
+
+ function fallback(context, node) {
+ if (node) do {
+ if (node === context) return true;
+ } while (node = node.parentNode);
+ return false;
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 201 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = getWindow;
+
+ function getWindow(node) {
+ return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 202 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.destroyFns = undefined;
+
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+ var _extends2;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _events = __webpack_require__(163);
+
+ var _events2 = _interopRequireDefault(_events);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _inDOM = __webpack_require__(25);
+
+ var _inDOM2 = _interopRequireDefault(_inDOM);
+
+ var _scrollbarSize = __webpack_require__(104);
+
+ var _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);
+
+ var _scrollTop = __webpack_require__(45);
+
+ var _scrollTop2 = _interopRequireDefault(_scrollTop);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _Modal = __webpack_require__(164);
+
+ var _Modal2 = _interopRequireDefault(_Modal);
+
+ var _isOverflowing = __webpack_require__(105);
+
+ var _isOverflowing2 = _interopRequireDefault(_isOverflowing);
+
+ var _tinperBeeCore = __webpack_require__(46);
+
+ var _beeTransition = __webpack_require__(1596);
+
+ var _ModalBody = __webpack_require__(1600);
+
+ var _ModalBody2 = _interopRequireDefault(_ModalBody);
+
+ var _ModalDialog = __webpack_require__(1601);
+
+ var _ModalDialog2 = _interopRequireDefault(_ModalDialog);
+
+ var _ModalFooter = __webpack_require__(1607);
+
+ var _ModalFooter2 = _interopRequireDefault(_ModalFooter);
+
+ var _ModalHeader = __webpack_require__(1608);
+
+ var _ModalHeader2 = _interopRequireDefault(_ModalHeader);
+
+ var _ModalTitle = __webpack_require__(1609);
+
+ var _ModalTitle2 = _interopRequireDefault(_ModalTitle);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ var propTypes = _extends({}, _Modal2["default"].propTypes, _ModalDialog2["default"].propTypes, (_extends2 = {
+
+ /**
+ * 是否弹出遮罩层/遮罩层点击是否触发关闭
+ */
+ backdrop: _propTypes2["default"].oneOf(['static', true, false]),
+
+ /**
+ * 点击遮罩层是否允许关闭
+ */
+ backdropClosable: _propTypes2["default"].bool,
+ /**
+ * esc触发关闭
+ */
+ keyboard: _propTypes2["default"].bool,
+
+ /**
+ * 显隐时是否使用动画
+ */
+ animation: _propTypes2["default"].bool,
+
+ /**
+ * 传递给模态框的样式
+ */
+ dialogComponentClass: _tinperBeeCore.elementType,
+
+ /**
+ * 自动设置焦点
+ */
+ autoFocus: _propTypes2["default"].bool,
+
+ /**
+ * 防止打开时焦点离开模态框
+ */
+ enforceFocus: _propTypes2["default"].bool,
+
+ /**
+ * 是否打开模态框
+ */
+ show: _propTypes2["default"].bool,
+
+ /**
+ * 关闭时的钩子函数
+ */
+ onHide: _propTypes2["default"].func,
+
+ onEnter: _propTypes2["default"].func,
+
+ onEntering: _propTypes2["default"].func,
+
+ onEntered: _propTypes2["default"].func,
+
+ onExit: _propTypes2["default"].func,
+
+ onExiting: _propTypes2["default"].func,
+
+ onExited: _propTypes2["default"].func,
+
+ containerClassName: _propTypes2["default"].string
+ }, _defineProperty(_extends2, 'containerClassName', _propTypes2["default"].string), _defineProperty(_extends2, 'container', _Modal2["default"].propTypes.container), _defineProperty(_extends2, 'size', _propTypes2["default"].oneOf(["sm", "lg", "xlg", ""])), _defineProperty(_extends2, 'width', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'draggable', _propTypes2["default"].bool), _defineProperty(_extends2, 'resizable', _propTypes2["default"].bool), _defineProperty(_extends2, 'resizeClassName', _propTypes2["default"].string), _defineProperty(_extends2, 'onResizeStart', _propTypes2["default"].func), _defineProperty(_extends2, 'onResize', _propTypes2["default"].func), _defineProperty(_extends2, 'onResizeStop', _propTypes2["default"].func), _defineProperty(_extends2, 'minWidth', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'minHeight', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'maxWidth', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'maxHeight', _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])), _defineProperty(_extends2, 'bounds', _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])), _defineProperty(_extends2, 'className', _propTypes2["default"].string), _defineProperty(_extends2, 'centered', _propTypes2["default"].bool), _extends2));
+
+ var defaultProps = _extends({}, _Modal2["default"].defaultProps, {
+ backdropClosable: true,
+ animation: true,
+ dialogComponentClass: _ModalDialog2["default"],
+ draggable: false,
+ resizable: false,
+ clsPrefix: 'u-modal',
+ className: ''
+ });
+
+ var ModalFuncProps = {
+ prefixCls: _propTypes2["default"].string,
+ className: _propTypes2["default"].string,
+ show: _propTypes2["default"].bool,
+ title: _react2["default"].ReactNode,
+ content: _react2["default"].ReactNode,
+ onOk: _propTypes2["default"].func,
+ onCancel: _propTypes2["default"].func,
+ width: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
+ okText: _propTypes2["default"].string,
+ okType: _propTypes2["default"].string,
+ cancelText: _propTypes2["default"].string,
+ icon: _react2["default"].ReactNode,
+ backdrop: _propTypes2["default"].oneOf(['static', true, false])
+ };
+
+ var ModalFunc = function ModalFunc(props) {
+ destroy = function destroy() {};
+ update = function update(newConfig) {};
+ };
+
+ var destroyFns = exports.destroyFns = [];
+
+ var childContextTypes = {
+ $u_modal: _propTypes2["default"].shape({
+ onHide: _propTypes2["default"].func
+ })
+ };
+
+ var Modal = function (_React$Component) {
+ _inherits(Modal, _React$Component);
+
+ function Modal(props, context) {
+ _classCallCheck(this, Modal);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
+
+ _this.clearCenteredCls = function () {
+ var centered = _this.state.centered;
+
+ if (!centered) {
+ return;
+ }
+ _this.offsetTop = _this.getOffsetTop();
+ _this.setState({
+ centered: false
+ });
+ };
+
+ _this.state = {
+ style: {},
+ centered: props.centered,
+ draging: false,
+ draged: false
+ };
+ _this.offsetTop = 0;
+ _this.handleEntering = _this.handleEntering.bind(_this);
+ _this.handleExited = _this.handleExited.bind(_this);
+ _this.handleWindowResize = _this.handleWindowResize.bind(_this);
+ _this.handleDialogClick = _this.handleDialogClick.bind(_this);
+ return _this;
+ }
+
+ Modal.prototype.getChildContext = function getChildContext() {
+ return {
+ $u_modal: {
+ onHide: this.props.onHide
+ }
+ };
+ };
+
+ Modal.prototype.componentWillUnmount = function componentWillUnmount() {
+ // Clean up the listener if we need to.
+ this.handleExited();
+ };
+
+ Modal.prototype.handleEntering = function handleEntering() {
+ // FIXME: This should work even when animation is disabled.
+ _events2["default"].on(window, 'resize', this.handleWindowResize);
+ this.updateStyle();
+ };
+
+ Modal.prototype.handleExited = function handleExited() {
+ this.setState({
+ draging: false,
+ draged: false
+ });
+ // FIXME: This should work even when animation is disabled.
+ _events2["default"].off(window, 'resize', this.handleWindowResize);
+ };
+
+ Modal.prototype.handleWindowResize = function handleWindowResize() {
+ this.updateStyle();
+ };
+
+ Modal.prototype.handleDialogClick = function handleDialogClick(e) {
+ if (e.target !== e.currentTarget) {
+ return;
+ }
+
+ this.props.onHide();
+ };
+
+ Modal.prototype.updateStyle = function updateStyle() {
+ if (!_inDOM2["default"] || !this._modal) {
+ return;
+ }
+
+ var dialogNode = this._modal.getDialogElement();
+ var dialogHeight = dialogNode.scrollHeight;
+
+ var document = (0, _ownerDocument2["default"])(dialogNode);
+ var bodyIsOverflowing = false;
+ if (this.props.container) {
+ bodyIsOverflowing = (0, _isOverflowing2["default"])(_reactDom2["default"].findDOMNode(this.props.container));
+ }
+ var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight;
+
+ this.setState({
+ style: {
+ paddingRight: bodyIsOverflowing && !modalIsOverflowing ? (0, _scrollbarSize2["default"])() : undefined,
+ paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? (0, _scrollbarSize2["default"])() : undefined
+ }
+ });
+ };
+ //ResizeStart 时,若模态框设置了 `centered` ,需要把居中属性移除,并通过 offsetTop 制造垂直居中的假象
+ //fixbug: Resize 和 centered 一起使用时,拖拽交互不正确
+
+
+ //计算 ModalDialog 的 offsetTop
+ Modal.prototype.getOffsetTop = function getOffsetTop() {
+ var modalDialog = document.getElementsByClassName("u-modal-dialog") && document.getElementsByClassName("u-modal-dialog")[0];
+ var topPos = modalDialog && modalDialog.offsetTop;
+ return topPos;
+ };
+
+ Modal.prototype.render = function render() {
+ var _this2 = this;
+
+ var _props = this.props,
+ backdrop = _props.backdrop,
+ backdropClosable = _props.backdropClosable,
+ animation = _props.animation,
+ show = _props.show,
+ Dialog = _props.dialogComponentClass,
+ className = _props.className,
+ clsPrefix = _props.clsPrefix,
+ _props$style = _props.style,
+ style = _props$style === undefined ? {} : _props$style,
+ size = _props.size,
+ width = _props.width,
+ children = _props.children,
+ onEntering = _props.onEntering,
+ onExited = _props.onExited,
+ backdropClassName = _props.backdropClassName,
+ containerClassName = _props.containerClassName,
+ draggable = _props.draggable,
+ resizeClassName = _props.resizeClassName,
+ bounds = _props.bounds,
+ container = _props.container,
+ onStart = _props.onStart,
+ onStop = _props.onStop,
+ props = _objectWithoutProperties(_props, ['backdrop', 'backdropClosable', 'animation', 'show', 'dialogComponentClass', 'className', 'clsPrefix', 'style', 'size', 'width', 'children', 'onEntering', 'onExited', 'backdropClassName', 'containerClassName', 'draggable', 'resizeClassName', 'bounds', 'container', 'onStart', 'onStop']);
+
+ var _state = this.state,
+ centered = _state.centered,
+ draging = _state.draging,
+ draged = _state.draged;
+
+ var dialogMarginTop = 30;
+ //ResizeStart 时,计算 ModalDialog 的 offsetTop
+ var topPosStyle = this.offsetTop > 0 ? { top: this.offsetTop - dialogMarginTop } : null;
+
+ var _splitComponent = (0, _tinperBeeCore.splitComponent)(props, _Modal2["default"]),
+ _splitComponent2 = _slicedToArray(_splitComponent, 2),
+ baseModalProps = _splitComponent2[0],
+ dialogProps = _splitComponent2[1];
+
+ var inClassName = show && !animation && 'in';
+
+ var backdropClasses = _defineProperty({}, clsPrefix + '-backdrop', true);
+ var containerClasses = _defineProperty({}, clsPrefix + '-open', true);
+ if (!!centered) {
+ className += ' ' + clsPrefix + '-centered';
+ }
+ if (draging) {
+ className += ' draging';
+ }
+ if (draged) {
+ className += ' draged';
+ }
+ if (Number(width)) width += 'px';
+
+ var styleRes = _extends({}, this.state.style, style, topPosStyle);
+ if (width) {
+ _extends(styleRes, { width: width });
+ }
+ return _react2["default"].createElement(
+ _Modal2["default"],
+ _extends({}, baseModalProps, {
+ ref: function ref(c) {
+ _this2._modal = c;
+ },
+ show: show,
+ onEntering: (0, _tinperBeeCore.createChainedFunction)(onEntering, this.handleEntering),
+ onExited: (0, _tinperBeeCore.createChainedFunction)(onExited, this.handleExited),
+ backdrop: backdrop,
+ backdropClassName: (0, _classnames2["default"])(backdropClasses, inClassName, backdropClassName),
+ containerClassName: (0, _classnames2["default"])(containerClasses, containerClassName),
+ transition: animation ? _beeTransition.Fade : undefined,
+ dialogTransitionTimeout: Modal.TRANSITION_DURATION,
+ backdropTransitionTimeout: Modal.BACKDROP_TRANSITION_DURATION,
+ container: container
+ }),
+ _react2["default"].createElement(
+ Dialog,
+ _extends({}, dialogProps, {
+ style: styleRes,
+ className: (0, _classnames2["default"])(className, inClassName, backdropClassName),
+ onClick: backdrop === true && !!backdropClosable ? this.handleDialogClick : null,
+ size: size,
+ draggable: draggable,
+ bounds: bounds,
+ resizeClassName: resizeClassName,
+ clearCenteredCls: this.clearCenteredCls,
+ onStart: function onStart() {
+ _this2.setState({
+ draging: true,
+ draged: false
+ });
+ },
+ onStop: function onStop() {
+ _this2.setState({
+ draging: false,
+ draged: true
+ });
+ }
+ }),
+ children
+ )
+ );
+ };
+
+ return Modal;
+ }(_react2["default"].Component);
+
+ Modal.info = ModalFunc;
+ Modal.success = ModalFunc;
+ Modal.error = ModalFunc;
+ Modal.warn = ModalFunc;
+ Modal.warning = ModalFunc;
+ Modal.confirm = ModalFunc;
+
+ Modal.destroyAll = function () {
+ return;
+ };
+
+ Modal.propTypes = propTypes;
+ Modal.defaultProps = defaultProps;
+ Modal.childContextTypes = childContextTypes;
+
+ Modal.Body = _ModalBody2["default"];
+ Modal.Header = _ModalHeader2["default"];
+ Modal.Title = _ModalTitle2["default"];
+ Modal.Footer = _ModalFooter2["default"];
+
+ Modal.Dialog = _ModalDialog2["default"];
+
+ Modal.TRANSITION_DURATION = 200000;
+ Modal.BACKDROP_TRANSITION_DURATION = 10000;
+
+ exports["default"] = Modal;
+
+ /***/ }),
+ /* 203 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 204 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _properties = __webpack_require__(27);
+
+ var _properties2 = _interopRequireDefault(_properties);
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var transitionEndEvent = _properties2["default"].end;
+
+ //设置状态码
+ var UNMOUNTED = exports.UNMOUNTED = 0;
+ var EXITED = exports.EXITED = 1;
+ var ENTERING = exports.ENTERING = 2;
+ var ENTERED = exports.ENTERED = 3;
+ var EXITING = exports.EXITING = 4;
+
+ var propTypes = {
+ /**
+ * 是否触发动画
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * 不显示的时候是否移除组件
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * 如果设置为默认显示,挂载时显示动画
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * 设置超时时间,防止出现问题,可设置为>=动画时间
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * 退出组件时添加的class
+ */
+ exitedClassName: _propTypes2["default"].string,
+ /**
+ * 退出组件中添加的class
+ */
+ exitingClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画后添加的class
+ */
+ enteredClassName: _propTypes2["default"].string,
+ /**
+ * 进入动画时添加的class
+ */
+ enteringClassName: _propTypes2["default"].string,
+
+ /**
+ * 进入动画开始时的钩子函数
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * 进入动画中的钩子函数
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * 进入动画后的钩子函数
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * 退出动画开始时的钩子函数
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * 退出动画中的钩子函数
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * 退出动画后的钩子函数
+ */
+ onExited: _propTypes2["default"].func
+ };
+
+ function noop() {}
+
+ var defaultProps = {
+ "in": false,
+ unmountOnExit: false,
+ transitionAppear: false,
+ timeout: 5000,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+
+ /**
+ * 动画组件
+ */
+
+ var Transition = function (_Component) {
+ _inherits(Transition, _Component);
+
+ function Transition(props, context) {
+ _classCallCheck(this, Transition);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
+
+ var initialStatus = void 0;
+ if (props["in"]) {
+ // 在componentdidmount时开始执行动画
+ initialStatus = props.transitionAppear ? EXITED : ENTERED;
+ } else {
+ initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
+ }
+ _this.state = { status: initialStatus };
+
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ Transition.prototype.componentDidMount = function componentDidMount() {
+ if (this.props.transitionAppear && this.props["in"]) {
+ this.performEnter(this.props);
+ }
+ };
+
+ Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (nextProps["in"] && this.props.unmountOnExit) {
+ if (this.state.status === UNMOUNTED) {
+ // 在componentDidUpdate执行动画.
+ this.setState({ status: EXITED });
+ }
+ } else {
+ this._needsUpdate = true;
+ }
+ };
+
+ Transition.prototype.componentDidUpdate = function componentDidUpdate() {
+ var status = this.state.status;
+
+ if (this.props.unmountOnExit && status === EXITED) {
+ // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
+ if (this.props["in"]) {
+ this.performEnter(this.props);
+ } else {
+ this.setState({ status: UNMOUNTED });
+ }
+
+ return;
+ }
+
+ // 确保只响应prop变化
+ if (this._needsUpdate) {
+ this._needsUpdate = false;
+
+ if (this.props["in"]) {
+ if (status === EXITING) {
+ this.performEnter(this.props);
+ } else if (status === EXITED) {
+ this.performEnter(this.props);
+ }
+ // 其他,当我们已经输入或输出
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ this.performExit(this.props);
+ }
+ // 我们已经输入或输出完成
+ }
+ }
+ };
+
+ Transition.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ Transition.prototype.performEnter = function performEnter(props) {
+ var _this2 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ // 这里接收新props
+ props.onEnter(node);
+
+ this.safeSetState({ status: ENTERING }, function () {
+ _this2.props.onEntering(node);
+
+ _this2.onTransitionEnd(node, function () {
+ _this2.safeSetState({ status: ENTERED }, function () {
+ _this2.props.onEntered(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.performExit = function performExit(props) {
+ var _this3 = this;
+
+ this.cancelNextCallback();
+ var node = _reactDom2["default"].findDOMNode(this);
+
+ props.onExit(node);
+
+ this.safeSetState({ status: EXITING }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, function () {
+ _this3.safeSetState({ status: EXITED }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ Transition.prototype.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
+ // 确保在组件销毁后挂起的setState被消除
+ this.setState(nextState, this.setNextCallback(callback));
+ };
+
+ Transition.prototype.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
+ this.setNextCallback(handler);
+
+ if (node) {
+ if (transitionEndEvent == undefined) {
+ this.nextCallback();
+ } else {
+ (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
+ }
+ setTimeout(this.nextCallback, this.props.timeout);
+ } else {
+ setTimeout(this.nextCallback, 0);
+ }
+ };
+
+ Transition.prototype.render = function render() {
+ var status = this.state.status;
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _props = this.props,
+ children = _props.children,
+ className = _props.className,
+ childProps = _objectWithoutProperties(_props, ['children', 'className']);
+
+ Object.keys(Transition.propTypes).forEach(function (key) {
+ return delete childProps[key];
+ });
+
+ var transitionClassName = void 0;
+ if (status === EXITED) {
+ transitionClassName = this.props.exitedClassName;
+ } else if (status === ENTERING) {
+ transitionClassName = this.props.enteringClassName;
+ } else if (status === ENTERED) {
+ transitionClassName = this.props.enteredClassName;
+ } else if (status === EXITING) {
+ transitionClassName = this.props.exitingClassName;
+ }
+
+ var child = _react2["default"].Children.only(children);
+ return _react2["default"].cloneElement(child, _extends({}, childProps, {
+ className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
+ }));
+ };
+
+ return Transition;
+ }(_react.Component);
+
+ Transition.propTypes = propTypes;
+
+ Transition.defaultProps = defaultProps;
+
+ exports["default"] = Transition;
+
+ /***/ }),
+ /* 205 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Button = __webpack_require__(1611);
+
+ var _Button2 = _interopRequireDefault(_Button);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Button2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 206 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ * This source code is quoted from rc-select.
+ * homepage: https://github.com/react-component/select
+ */
+
+
+ var Option = function (_React$Component) {
+ _inherits(Option, _React$Component);
+
+ function Option() {
+ _classCallCheck(this, Option);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ return Option;
+ }(_react2["default"].Component);
+
+ Option.propTypes = {
+ value: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number])
+ };
+ Option.isSelectOption = true;
+ exports["default"] = Option;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 207 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.UNSELECTABLE_ATTRIBUTE = exports.UNSELECTABLE_STYLE = undefined;
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+ exports.toTitle = toTitle;
+ exports.getValuePropValue = getValuePropValue;
+ exports.getPropValue = getPropValue;
+ exports.isMultiple = isMultiple;
+ exports.isCombobox = isCombobox;
+ exports.isMultipleOrTags = isMultipleOrTags;
+ exports.isMultipleOrTagsOrCombobox = isMultipleOrTagsOrCombobox;
+ exports.isSingleMode = isSingleMode;
+ exports.toArray = toArray;
+ exports.getMapKey = getMapKey;
+ exports.preventDefaultEvent = preventDefaultEvent;
+ exports.findIndexInValueBySingleValue = findIndexInValueBySingleValue;
+ exports.getLabelFromPropsValue = getLabelFromPropsValue;
+ exports.getSelectKeys = getSelectKeys;
+ exports.findFirstMenuItem = findFirstMenuItem;
+ exports.includesSeparators = includesSeparators;
+ exports.splitBySeparators = splitBySeparators;
+ exports.defaultFilterFn = defaultFilterFn;
+ exports.validateOptionValue = validateOptionValue;
+ exports.saveRef = saveRef;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function toTitle(title) {
+ if (typeof title === 'string') {
+ return title;
+ }
+ return null;
+ }
+
+ function getValuePropValue(child) {
+ if (!child) {
+ return null;
+ }
+
+ var props = child.props;
+ if ('value' in props) {
+ return props.value;
+ }
+ if (child.key) {
+ return child.key;
+ }
+ if (child.type && child.type.isSelectOptGroup && props.label) {
+ return props.label;
+ }
+ throw new Error('Need at least a key or a value or a label (only for OptGroup) for ' + child);
+ }
+
+ function getPropValue(child, prop) {
+ if (prop === 'value') {
+ return getValuePropValue(child);
+ }
+ return child.props[prop];
+ }
+
+ function isMultiple(props) {
+ return props.multiple;
+ }
+
+ function isCombobox(props) {
+ return props.combobox;
+ }
+
+ function isMultipleOrTags(props) {
+ return props.multiple || props.tags;
+ }
+
+ function isMultipleOrTagsOrCombobox(props) {
+ return isMultipleOrTags(props) || isCombobox(props);
+ }
+
+ function isSingleMode(props) {
+ return !isMultipleOrTagsOrCombobox(props);
+ }
+
+ function toArray(value) {
+ var ret = value;
+ if (value === undefined) {
+ ret = [];
+ } else if (!Array.isArray(value)) {
+ ret = [value];
+ }
+ return ret;
+ }
+
+ function getMapKey(value) {
+ return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + '-' + value;
+ }
+
+ function preventDefaultEvent(e) {
+ e.preventDefault();
+ }
+
+ function findIndexInValueBySingleValue(value, singleValue) {
+ var index = -1;
+ for (var i = 0; i < value.length; i++) {
+ if (value[i] === singleValue) {
+ index = i;
+ break;
+ }
+ }
+ return index;
+ }
+
+ function getLabelFromPropsValue(value, key) {
+ var label = void 0;
+ value = toArray(value);
+ for (var i = 0; i < value.length; i++) {
+ if (value[i].key === key) {
+ label = value[i].label;
+ break;
+ }
+ }
+ return label;
+ }
+
+ function getSelectKeys(menuItems, value) {
+ if (value === null || value === undefined) {
+ return [];
+ }
+ var selectedKeys = [];
+ _react2["default"].Children.forEach(menuItems, function (item) {
+ if (item.type.isMenuItemGroup) {
+ selectedKeys = selectedKeys.concat(getSelectKeys(item.props.children, value));
+ } else {
+ var itemValue = getValuePropValue(item);
+ var itemKey = item.key;
+ if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey) {
+ selectedKeys.push(itemKey);
+ }
+ }
+ });
+ return selectedKeys;
+ }
+
+ var UNSELECTABLE_STYLE = exports.UNSELECTABLE_STYLE = {
+ userSelect: 'none',
+ WebkitUserSelect: 'none'
+ };
+
+ var UNSELECTABLE_ATTRIBUTE = exports.UNSELECTABLE_ATTRIBUTE = {
+ unselectable: 'on'
+ };
+
+ function findFirstMenuItem(children) {
+ for (var i = 0; i < children.length; i++) {
+ var child = children[i];
+ if (child.type.isMenuItemGroup) {
+ var found = findFirstMenuItem(child.props.children);
+ if (found) {
+ return found;
+ }
+ } else if (!child.props.disabled) {
+ return child;
+ }
+ }
+ return null;
+ }
+
+ function includesSeparators(string, separators) {
+ for (var i = 0; i < separators.length; ++i) {
+ if (string.lastIndexOf(separators[i]) > 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ function splitBySeparators(string, separators) {
+ var reg = new RegExp('[' + separators.join() + ']');
+ return string.split(reg).filter(function (token) {
+ return token;
+ });
+ }
+
+ function defaultFilterFn(input, child) {
+ if (child.props.disabled) {
+ return false;
+ }
+ var value = toArray(getPropValue(child, this.props.optionFilterProp)).join('');
+ return value.toLowerCase().indexOf(input.toLowerCase()) > -1;
+ }
+
+ function validateOptionValue(value, props) {
+ if (isSingleMode(props) || isMultiple(props)) {
+ return;
+ }
+ if (typeof value !== 'string') {
+ throw new Error('Invalid `value` of type `' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + '` supplied to Option, ' + 'expected `string` when `tags/combobox` is `true`.');
+ }
+ }
+
+ function saveRef(instance, name) {
+ return function (node) {
+ instance[name] = node;
+ };
+ }
+
+ /***/ }),
+ /* 208 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["p"] = warnOnlyTreeNode;
+ /* harmony export (immutable) */ __webpack_exports__["b"] = arrDel;
+ /* harmony export (immutable) */ __webpack_exports__["a"] = arrAdd;
+ /* harmony export (immutable) */ __webpack_exports__["o"] = posToArr;
+ /* harmony export (immutable) */ __webpack_exports__["l"] = getPosition;
+ /* unused harmony export isTreeNode */
+ /* harmony export (immutable) */ __webpack_exports__["k"] = getNodeChildren;
+ /* unused harmony export isCheckDisabled */
+ /* unused harmony export traverseTreeNodes */
+ /* harmony export (immutable) */ __webpack_exports__["m"] = mapChildren;
+ /* harmony export (immutable) */ __webpack_exports__["j"] = getDragNodesKeys;
+ /* harmony export (immutable) */ __webpack_exports__["c"] = calcDropPosition;
+ /* harmony export (immutable) */ __webpack_exports__["d"] = calcSelectedKeys;
+ /* harmony export (immutable) */ __webpack_exports__["g"] = convertDataToTree;
+ /* harmony export (immutable) */ __webpack_exports__["h"] = convertTreeToEntities;
+ /* harmony export (immutable) */ __webpack_exports__["n"] = parseCheckedKeys;
+ /* harmony export (immutable) */ __webpack_exports__["e"] = conductCheck;
+ /* harmony export (immutable) */ __webpack_exports__["f"] = conductExpandParent;
+ /* harmony export (immutable) */ __webpack_exports__["i"] = getDataAndAria;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rc_util_es_Children_toArray__ = __webpack_require__(119);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning__ = __webpack_require__(533);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_warning__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__TreeNode__ = __webpack_require__(534);
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
+
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
+
+
+
+
+
+ var DRAG_SIDE_RANGE = 0.25;
+ var DRAG_MIN_GAP = 2;
+ var onlyTreeNodeWarned = false;
+ function warnOnlyTreeNode() {
+ if (onlyTreeNodeWarned) return;
+ onlyTreeNodeWarned = true;
+ __WEBPACK_IMPORTED_MODULE_2_warning___default()(false, 'Tree only accept TreeNode as children.');
+ }
+ function arrDel(list, value) {
+ var clone = list.slice();
+ var index = clone.indexOf(value);
+
+ if (index >= 0) {
+ clone.splice(index, 1);
+ }
+
+ return clone;
+ }
+ function arrAdd(list, value) {
+ var clone = list.slice();
+
+ if (clone.indexOf(value) === -1) {
+ clone.push(value);
+ }
+
+ return clone;
+ }
+ function posToArr(pos) {
+ return pos.split('-');
+ }
+ function getPosition(level, index) {
+ return "".concat(level, "-").concat(index);
+ }
+ function isTreeNode(node) {
+ return node && node.type && node.type.isTreeNode;
+ }
+ function getNodeChildren(children) {
+ return Object(__WEBPACK_IMPORTED_MODULE_1_rc_util_es_Children_toArray__["a" /* default */])(children).filter(isTreeNode);
+ }
+ function isCheckDisabled(node) {
+ var _ref = node.props || {},
+ disabled = _ref.disabled,
+ disableCheckbox = _ref.disableCheckbox,
+ checkable = _ref.checkable;
+
+ return !!(disabled || disableCheckbox) || checkable === false;
+ }
+ function traverseTreeNodes(treeNodes, callback) {
+ function processNode(node, index, parent) {
+ var children = node ? node.props.children : treeNodes;
+ var pos = node ? getPosition(parent.pos, index) : 0; // Filter children
+
+ var childList = getNodeChildren(children); // Process node if is not root
+
+ if (node) {
+ var data = {
+ node: node,
+ index: index,
+ pos: pos,
+ key: node.key || pos,
+ parentPos: parent.node ? parent.pos : null
+ };
+ callback(data);
+ } // Process children node
+
+
+ __WEBPACK_IMPORTED_MODULE_0_react__["Children"].forEach(childList, function (subNode, subIndex) {
+ processNode(subNode, subIndex, {
+ node: node,
+ pos: pos
+ });
+ });
+ }
+
+ processNode(null);
+ }
+ /**
+ * Use `rc-util` `toArray` to get the children list which keeps the key.
+ * And return single node if children is only one(This can avoid `key` missing check).
+ */
+
+ function mapChildren(children, func) {
+ var list = Object(__WEBPACK_IMPORTED_MODULE_1_rc_util_es_Children_toArray__["a" /* default */])(children).map(func);
+
+ if (list.length === 1) {
+ return list[0];
+ }
+
+ return list;
+ }
+ function getDragNodesKeys(treeNodes, node) {
+ var _node$props = node.props,
+ eventKey = _node$props.eventKey,
+ pos = _node$props.pos;
+ var dragNodesKeys = [];
+ traverseTreeNodes(treeNodes, function (_ref2) {
+ var key = _ref2.key;
+ dragNodesKeys.push(key);
+ });
+ dragNodesKeys.push(eventKey || pos);
+ return dragNodesKeys;
+ } // Only used when drag, not affect SSR.
+
+ function calcDropPosition(event, treeNode) {
+ var clientY = event.clientY;
+
+ var _treeNode$selectHandl = treeNode.selectHandle.getBoundingClientRect(),
+ top = _treeNode$selectHandl.top,
+ bottom = _treeNode$selectHandl.bottom,
+ height = _treeNode$selectHandl.height;
+
+ var des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);
+
+ if (clientY <= top + des) {
+ return -1;
+ }
+
+ if (clientY >= bottom - des) {
+ return 1;
+ }
+
+ return 0;
+ }
+ /**
+ * Return selectedKeys according with multiple prop
+ * @param selectedKeys
+ * @param props
+ * @returns [string]
+ */
+
+ function calcSelectedKeys(selectedKeys, props) {
+ if (!selectedKeys) return undefined;
+ var multiple = props.multiple;
+
+ if (multiple) {
+ return selectedKeys.slice();
+ }
+
+ if (selectedKeys.length) {
+ return [selectedKeys[0]];
+ }
+
+ return selectedKeys;
+ }
+ /**
+ * Since React internal will convert key to string,
+ * we need do this to avoid `checkStrictly` use number match
+ */
+
+ function keyListToString(keyList) {
+ if (!keyList) return keyList;
+ return keyList.map(function (key) {
+ return String(key);
+ });
+ }
+
+ var internalProcessProps = function internalProcessProps(props) {
+ return props;
+ };
+
+ function convertDataToTree(treeData, processor) {
+ if (!treeData) return [];
+
+ var _ref3 = processor || {},
+ _ref3$processProps = _ref3.processProps,
+ processProps = _ref3$processProps === void 0 ? internalProcessProps : _ref3$processProps;
+
+ var list = Array.isArray(treeData) ? treeData : [treeData];
+ return list.map(function (_ref4) {
+ var children = _ref4.children,
+ props = _objectWithoutProperties(_ref4, ["children"]);
+
+ var childrenNodes = convertDataToTree(children, processor);
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__TreeNode__["a" /* default */], Object.assign({}, processProps(props)), childrenNodes);
+ });
+ }
+ /**
+ * Calculate treeNodes entities. `processTreeEntity` is used for `rc-tree-select`
+ * @param treeNodes
+ * @param processTreeEntity User can customize the entity
+ */
+
+ function convertTreeToEntities(treeNodes) {
+ var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
+ initWrapper = _ref5.initWrapper,
+ processEntity = _ref5.processEntity,
+ onProcessFinished = _ref5.onProcessFinished;
+
+ var posEntities = {};
+ var keyEntities = {};
+ var wrapper = {
+ posEntities: posEntities,
+ keyEntities: keyEntities
+ };
+
+ if (initWrapper) {
+ wrapper = initWrapper(wrapper) || wrapper;
+ }
+
+ traverseTreeNodes(treeNodes, function (item) {
+ var node = item.node,
+ index = item.index,
+ pos = item.pos,
+ key = item.key,
+ parentPos = item.parentPos;
+ var entity = {
+ node: node,
+ index: index,
+ key: key,
+ pos: pos
+ };
+ posEntities[pos] = entity;
+ keyEntities[key] = entity; // Fill children
+
+ entity.parent = posEntities[parentPos];
+
+ if (entity.parent) {
+ entity.parent.children = entity.parent.children || [];
+ entity.parent.children.push(entity);
+ }
+
+ if (processEntity) {
+ processEntity(entity, wrapper);
+ }
+ });
+
+ if (onProcessFinished) {
+ onProcessFinished(wrapper);
+ }
+
+ return wrapper;
+ }
+ /**
+ * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style
+ */
+
+ function parseCheckedKeys(keys) {
+ if (!keys) {
+ return null;
+ } // Convert keys to object format
+
+
+ var keyProps;
+
+ if (Array.isArray(keys)) {
+ // [Legacy] Follow the api doc
+ keyProps = {
+ checkedKeys: keys,
+ halfCheckedKeys: undefined
+ };
+ } else if (_typeof(keys) === 'object') {
+ keyProps = {
+ checkedKeys: keys.checked || undefined,
+ halfCheckedKeys: keys.halfChecked || undefined
+ };
+ } else {
+ __WEBPACK_IMPORTED_MODULE_2_warning___default()(false, '`checkedKeys` is not an array or an object');
+ return null;
+ }
+
+ keyProps.checkedKeys = keyListToString(keyProps.checkedKeys);
+ keyProps.halfCheckedKeys = keyListToString(keyProps.halfCheckedKeys);
+ return keyProps;
+ }
+ /**
+ * Conduct check state by the keyList. It will conduct up & from the provided key.
+ * If the conduct path reach the disabled or already checked / unchecked node will stop conduct.
+ */
+
+ function conductCheck(
+ /** list of keys */
+ keyList,
+ /** is check the node or not */
+ isCheck,
+ /** parsed by `convertTreeToEntities` function in Tree */
+ keyEntities) {
+ var checkStatus = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
+ var checkedKeys = {};
+ var halfCheckedKeys = {}; // Record the key has some child checked (include child half checked)
+
+ (checkStatus.checkedKeys || []).forEach(function (key) {
+ checkedKeys[key] = true;
+ });
+ (checkStatus.halfCheckedKeys || []).forEach(function (key) {
+ halfCheckedKeys[key] = true;
+ }); // Conduct up
+
+ function conductUp(key) {
+ if (checkedKeys[key] === isCheck) return;
+ var entity = keyEntities[key];
+ if (!entity) return;
+ var children = entity.children,
+ parent = entity.parent,
+ node = entity.node;
+ if (isCheckDisabled(node)) return; // Check child node checked status
+
+ var everyChildChecked = true;
+ var someChildChecked = false; // Child checked or half checked
+
+ (children || []).filter(function (child) {
+ return !isCheckDisabled(child.node);
+ }).forEach(function (_ref6) {
+ var childKey = _ref6.key;
+ var childChecked = checkedKeys[childKey];
+ var childHalfChecked = halfCheckedKeys[childKey];
+ if (childChecked || childHalfChecked) someChildChecked = true;
+ if (!childChecked) everyChildChecked = false;
+ }); // Update checked status
+
+ if (isCheck) {
+ checkedKeys[key] = everyChildChecked;
+ } else {
+ checkedKeys[key] = false;
+ }
+
+ halfCheckedKeys[key] = someChildChecked;
+
+ if (parent) {
+ conductUp(parent.key);
+ }
+ } // Conduct down
+
+
+ function conductDown(key) {
+ if (checkedKeys[key] === isCheck) return;
+ var entity = keyEntities[key];
+ if (!entity) return;
+ var children = entity.children,
+ node = entity.node;
+ if (isCheckDisabled(node)) return;
+ checkedKeys[key] = isCheck;
+ (children || []).forEach(function (child) {
+ conductDown(child.key);
+ });
+ }
+
+ function conduct(key) {
+ var entity = keyEntities[key];
+
+ if (!entity) {
+ __WEBPACK_IMPORTED_MODULE_2_warning___default()(false, "'".concat(key, "' does not exist in the tree."));
+ return;
+ }
+
+ var children = entity.children,
+ parent = entity.parent,
+ node = entity.node;
+ checkedKeys[key] = isCheck;
+ if (isCheckDisabled(node)) return; // Conduct down
+
+ (children || []).filter(function (child) {
+ return !isCheckDisabled(child.node);
+ }).forEach(function (child) {
+ conductDown(child.key);
+ }); // Conduct up
+
+ if (parent) {
+ conductUp(parent.key);
+ }
+ }
+
+ (keyList || []).forEach(function (key) {
+ conduct(key);
+ });
+ var checkedKeyList = [];
+ var halfCheckedKeyList = []; // Fill checked list
+
+ Object.keys(checkedKeys).forEach(function (key) {
+ if (checkedKeys[key]) {
+ checkedKeyList.push(key);
+ }
+ }); // Fill half checked list
+
+ Object.keys(halfCheckedKeys).forEach(function (key) {
+ if (!checkedKeys[key] && halfCheckedKeys[key]) {
+ halfCheckedKeyList.push(key);
+ }
+ });
+ return {
+ checkedKeys: checkedKeyList,
+ halfCheckedKeys: halfCheckedKeyList
+ };
+ }
+ /**
+ * If user use `autoExpandParent` we should get the list of parent node
+ * @param keyList
+ * @param keyEntities
+ */
+
+ function conductExpandParent(keyList, keyEntities) {
+ var expandedKeys = {};
+
+ function conductUp(key) {
+ if (expandedKeys[key]) return;
+ var entity = keyEntities[key];
+ if (!entity) return;
+ expandedKeys[key] = true;
+ var parent = entity.parent,
+ node = entity.node;
+ if (node.props && node.props.disabled) return;
+
+ if (parent) {
+ conductUp(parent.key);
+ }
+ }
+
+ (keyList || []).forEach(function (key) {
+ conductUp(key);
+ });
+ return Object.keys(expandedKeys);
+ }
+ /**
+ * Returns only the data- and aria- key/value pairs
+ */
+
+ function getDataAndAria(props) {
+ return Object.keys(props).reduce(function (prev, key) {
+ if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {
+ prev[key] = props[key];
+ }
+
+ return prev;
+ }, {});
+ }
+
+ /***/ }),
+ /* 209 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SHOW_ALL; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return SHOW_PARENT; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SHOW_CHILD; });
+ var SHOW_ALL = 'SHOW_ALL';
+ var SHOW_PARENT = 'SHOW_PARENT';
+ var SHOW_CHILD = 'SHOW_CHILD';
+
+ /***/ }),
+ /* 210 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return selectorPropTypes; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return selectorContextTypes; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_lifecycles_compat__ = __webpack_require__(14);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(34);
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ /**
+ * Input Box is in different position for different mode.
+ * This not the same design as `Select` cause it's followed by antd 0.x `Select`.
+ * We will not follow the new design immediately since antd 3.x is already released.
+ *
+ * So this file named as Selector to avoid confuse.
+ */
+
+
+
+
+
+ var selectorPropTypes = {
+ prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ style: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
+ open: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ selectorValueList: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.array,
+ allowClear: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ showArrow: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ onBlur: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ onFocus: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ removeSelected: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ // Pass by component
+ ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ inputIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),
+ clearIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])
+ };
+ var selectorContextTypes = {
+ onSelectorFocus: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
+ onSelectorBlur: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
+ onSelectorKeyDown: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
+ onSelectorClear: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired
+ };
+ /* harmony default export */ __webpack_exports__["a"] = (function (modeName) {
+ var BaseSelector =
+ /*#__PURE__*/
+ function (_React$Component) {
+ _inherits(BaseSelector, _React$Component);
+
+ function BaseSelector() {
+ var _this;
+
+ _classCallCheck(this, BaseSelector);
+
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(BaseSelector).call(this));
+
+ _defineProperty(_assertThisInitialized(_this), "onFocus", function () {
+ var _this$props = _this.props,
+ onFocus = _this$props.onFocus,
+ focused = _this$props.focused;
+ var onSelectorFocus = _this.context.rcTreeSelect.onSelectorFocus;
+
+ if (!focused) {
+ onSelectorFocus();
+ }
+
+ if (onFocus) {
+ onFocus.apply(void 0, arguments);
+ }
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "onBlur", function () {
+ var onBlur = _this.props.onBlur;
+ var onSelectorBlur = _this.context.rcTreeSelect.onSelectorBlur; // TODO: Not trigger when is inner component get focused
+
+ onSelectorBlur();
+
+ if (onBlur) {
+ onBlur.apply(void 0, arguments);
+ }
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "focus", function () {
+ _this.domRef.current.focus();
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "blur", function () {
+ _this.domRef.current.focus();
+ });
+
+ _this.domRef = Object(__WEBPACK_IMPORTED_MODULE_4__util__["g" /* createRef */])();
+ return _this;
+ }
+
+ _createClass(BaseSelector, [{
+ key: "renderClear",
+ value: function renderClear() {
+ var _this$props2 = this.props,
+ prefixCls = _this$props2.prefixCls,
+ allowClear = _this$props2.allowClear,
+ selectorValueList = _this$props2.selectorValueList,
+ clearIcon = _this$props2.clearIcon;
+ var onSelectorClear = this.context.rcTreeSelect.onSelectorClear;
+
+ if (!allowClear || !selectorValueList.length || !selectorValueList[0].value) {
+ return null;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ key: "clear",
+ className: "".concat(prefixCls, "-selection__clear"),
+ onClick: onSelectorClear
+ }, typeof clearIcon === 'function' ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(clearIcon, _objectSpread({}, this.props)) : clearIcon);
+ }
+ }, {
+ key: "renderArrow",
+ value: function renderArrow() {
+ var _this$props3 = this.props,
+ prefixCls = _this$props3.prefixCls,
+ showArrow = _this$props3.showArrow,
+ inputIcon = _this$props3.inputIcon;
+
+ if (!showArrow) {
+ return null;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ key: "arrow",
+ className: "".concat(prefixCls, "-arrow"),
+ style: {
+ outline: 'none'
+ }
+ }, typeof inputIcon === 'function' ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(inputIcon, _objectSpread({}, this.props)) : inputIcon);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _classNames;
+
+ var _this$props4 = this.props,
+ prefixCls = _this$props4.prefixCls,
+ className = _this$props4.className,
+ style = _this$props4.style,
+ open = _this$props4.open,
+ focused = _this$props4.focused,
+ disabled = _this$props4.disabled,
+ allowClear = _this$props4.allowClear,
+ onClick = _this$props4.onClick,
+ ariaId = _this$props4.ariaId,
+ renderSelection = _this$props4.renderSelection,
+ renderPlaceholder = _this$props4.renderPlaceholder,
+ tabIndex = _this$props4.tabIndex;
+ var onSelectorKeyDown = this.context.rcTreeSelect.onSelectorKeyDown;
+ var myTabIndex = tabIndex;
+
+ if (disabled) {
+ myTabIndex = null;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ style: style,
+ onClick: onClick,
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()(className, prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-open"), open), _defineProperty(_classNames, "".concat(prefixCls, "-focused"), open || focused), _defineProperty(_classNames, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames, "".concat(prefixCls, "-enabled"), !disabled), _defineProperty(_classNames, "".concat(prefixCls, "-allow-clear"), allowClear), _classNames)),
+ ref: this.domRef,
+ role: "combobox",
+ "aria-expanded": open,
+ "aria-owns": open ? ariaId : undefined,
+ "aria-controls": open ? ariaId : undefined,
+ "aria-haspopup": "listbox",
+ "aria-disabled": disabled,
+ tabIndex: myTabIndex,
+ onFocus: this.onFocus,
+ onBlur: this.onBlur,
+ onKeyDown: onSelectorKeyDown
+ }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ key: "selection",
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(prefixCls, "-selection"), "".concat(prefixCls, "-selection--").concat(modeName))
+ }, renderSelection(), this.renderClear(), this.renderArrow(), renderPlaceholder && renderPlaceholder()));
+ }
+ }]);
+
+ return BaseSelector;
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
+
+ _defineProperty(BaseSelector, "propTypes", _objectSpread({}, selectorPropTypes, {
+ // Pass by HOC
+ renderSelection: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
+ renderPlaceholder: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ tabIndex: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number
+ }));
+
+ _defineProperty(BaseSelector, "contextTypes", {
+ rcTreeSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape(_objectSpread({}, selectorContextTypes))
+ });
+
+ _defineProperty(BaseSelector, "defaultProps", {
+ tabIndex: 0
+ });
+
+ Object(__WEBPACK_IMPORTED_MODULE_3_react_lifecycles_compat__["polyfill"])(BaseSelector);
+ return BaseSelector;
+ });
+
+ /***/ }),
+ /* 211 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return popupContextTypes; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__ = __webpack_require__(14);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_tree__ = __webpack_require__(538);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(34);
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+
+
+
+
+
+ var popupContextTypes = {
+ onPopupKeyDown: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
+ onTreeNodeSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
+ onTreeNodeCheck: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired
+ };
+
+ var BasePopup =
+ /*#__PURE__*/
+ function (_React$Component) {
+ _inherits(BasePopup, _React$Component);
+
+ function BasePopup(props) {
+ var _this;
+
+ _classCallCheck(this, BasePopup);
+
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(BasePopup).call(this));
+
+ _defineProperty(_assertThisInitialized(_this), "onTreeExpand", function (expandedKeyList) {
+ var _this$props = _this.props,
+ treeExpandedKeys = _this$props.treeExpandedKeys,
+ onTreeExpand = _this$props.onTreeExpand,
+ onTreeExpanded = _this$props.onTreeExpanded; // Set uncontrolled state
+
+ if (!treeExpandedKeys) {
+ _this.setState({
+ expandedKeyList: expandedKeyList
+ }, onTreeExpanded);
+ }
+
+ if (onTreeExpand) {
+ onTreeExpand(expandedKeyList);
+ }
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "onLoad", function (loadedKeys) {
+ _this.setState({
+ loadedKeys: loadedKeys
+ });
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "getTree", function () {
+ return _this.treeRef.current;
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "getLoadData", function () {
+ var _this$props2 = _this.props,
+ loadData = _this$props2.loadData,
+ upperSearchValue = _this$props2.upperSearchValue;
+ if (upperSearchValue) return null;
+ return loadData;
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "filterTreeNode", function (treeNode) {
+ var _this$props3 = _this.props,
+ upperSearchValue = _this$props3.upperSearchValue,
+ treeNodeFilterProp = _this$props3.treeNodeFilterProp;
+ var filterVal = treeNode.props[treeNodeFilterProp];
+
+ if (typeof filterVal === 'string') {
+ return upperSearchValue && filterVal.toUpperCase().indexOf(upperSearchValue) !== -1;
+ }
+
+ return false;
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "renderNotFound", function () {
+ var _this$props4 = _this.props,
+ prefixCls = _this$props4.prefixCls,
+ notFoundContent = _this$props4.notFoundContent;
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ className: "".concat(prefixCls, "-not-found")
+ }, notFoundContent);
+ });
+
+ var treeDefaultExpandAll = props.treeDefaultExpandAll,
+ treeDefaultExpandedKeys = props.treeDefaultExpandedKeys,
+ keyEntities = props.keyEntities; // TODO: make `expandedKeyList` control
+
+ var _expandedKeyList = treeDefaultExpandedKeys;
+
+ if (treeDefaultExpandAll) {
+ _expandedKeyList = Object.keys(keyEntities);
+ }
+
+ _this.state = {
+ keyList: [],
+ expandedKeyList: _expandedKeyList,
+ // Cache `expandedKeyList` when tree is in filter. This is used in `getDerivedStateFromProps`
+ cachedExpandedKeyList: [],
+ // eslint-disable-line react/no-unused-state
+ loadedKeys: []
+ };
+ _this.treeRef = Object(__WEBPACK_IMPORTED_MODULE_4__util__["g" /* createRef */])();
+ return _this;
+ }
+
+ _createClass(BasePopup, [{
+ key: "render",
+ value: function render() {
+ var _this$state = this.state,
+ keyList = _this$state.keyList,
+ expandedKeyList = _this$state.expandedKeyList,
+ loadedKeys = _this$state.loadedKeys;
+ var _this$props5 = this.props,
+ prefixCls = _this$props5.prefixCls,
+ treeNodes = _this$props5.treeNodes,
+ filteredTreeNodes = _this$props5.filteredTreeNodes,
+ treeIcon = _this$props5.treeIcon,
+ treeLine = _this$props5.treeLine,
+ treeCheckable = _this$props5.treeCheckable,
+ treeCheckStrictly = _this$props5.treeCheckStrictly,
+ multiple = _this$props5.multiple,
+ ariaId = _this$props5.ariaId,
+ renderSearch = _this$props5.renderSearch,
+ switcherIcon = _this$props5.switcherIcon,
+ searchHalfCheckedKeys = _this$props5.searchHalfCheckedKeys;
+ var _this$context$rcTreeS = this.context.rcTreeSelect,
+ onPopupKeyDown = _this$context$rcTreeS.onPopupKeyDown,
+ onTreeNodeSelect = _this$context$rcTreeS.onTreeNodeSelect,
+ onTreeNodeCheck = _this$context$rcTreeS.onTreeNodeCheck;
+ var loadData = this.getLoadData();
+ var treeProps = {};
+
+ if (treeCheckable) {
+ treeProps.checkedKeys = keyList;
+ } else {
+ treeProps.selectedKeys = keyList;
+ }
+
+ var $notFound;
+ var $treeNodes;
+
+ if (filteredTreeNodes) {
+ if (filteredTreeNodes.length) {
+ treeProps.checkStrictly = true;
+ $treeNodes = filteredTreeNodes; // Fill halfCheckedKeys
+
+ if (treeCheckable && !treeCheckStrictly) {
+ treeProps.checkedKeys = {
+ checked: keyList,
+ halfChecked: searchHalfCheckedKeys
+ };
+ }
+ } else {
+ $notFound = this.renderNotFound();
+ }
+ } else if (!treeNodes || !treeNodes.length) {
+ $notFound = this.renderNotFound();
+ } else {
+ $treeNodes = treeNodes;
+ }
+
+ var $tree;
+
+ if ($notFound) {
+ $tree = $notFound;
+ } else {
+ $tree = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_tree__["b" /* default */], _extends({
+ ref: this.treeRef,
+ prefixCls: "".concat(prefixCls, "-tree"),
+ showIcon: treeIcon,
+ showLine: treeLine,
+ selectable: !treeCheckable,
+ checkable: treeCheckable,
+ checkStrictly: treeCheckStrictly,
+ multiple: multiple,
+ loadData: loadData,
+ loadedKeys: loadedKeys,
+ expandedKeys: expandedKeyList,
+ filterTreeNode: this.filterTreeNode,
+ onSelect: onTreeNodeSelect,
+ onCheck: onTreeNodeCheck,
+ onExpand: this.onTreeExpand,
+ onLoad: this.onLoad,
+ switcherIcon: switcherIcon
+ }, treeProps), $treeNodes);
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", {
+ role: "listbox",
+ id: ariaId,
+ onKeyDown: onPopupKeyDown,
+ tabIndex: -1
+ }, renderSearch ? renderSearch() : null, $tree);
+ }
+ }], [{
+ key: "getDerivedStateFromProps",
+ value: function getDerivedStateFromProps(nextProps, prevState) {
+ var _ref = prevState || {},
+ _ref$prevProps = _ref.prevProps,
+ prevProps = _ref$prevProps === void 0 ? {} : _ref$prevProps,
+ loadedKeys = _ref.loadedKeys,
+ expandedKeyList = _ref.expandedKeyList,
+ cachedExpandedKeyList = _ref.cachedExpandedKeyList;
+
+ var valueList = nextProps.valueList,
+ valueEntities = nextProps.valueEntities,
+ keyEntities = nextProps.keyEntities,
+ treeExpandedKeys = nextProps.treeExpandedKeys,
+ filteredTreeNodes = nextProps.filteredTreeNodes,
+ upperSearchValue = nextProps.upperSearchValue;
+ var newState = {
+ prevProps: nextProps
+ }; // Check value update
+
+ if (valueList !== prevProps.valueList) {
+ newState.keyList = valueList.map(function (_ref2) {
+ var value = _ref2.value;
+ return valueEntities[value];
+ }).filter(function (entity) {
+ return entity;
+ }).map(function (_ref3) {
+ var key = _ref3.key;
+ return key;
+ });
+ } // Show all when tree is in filter mode
+
+
+ if (!treeExpandedKeys && filteredTreeNodes && filteredTreeNodes.length && filteredTreeNodes !== prevProps.filteredTreeNodes) {
+ newState.expandedKeyList = Object.keys(keyEntities);
+ } // Cache `expandedKeyList` when filter set
+
+
+ if (upperSearchValue && !prevProps.upperSearchValue) {
+ newState.cachedExpandedKeyList = expandedKeyList;
+ } else if (!upperSearchValue && prevProps.upperSearchValue && !treeExpandedKeys) {
+ newState.expandedKeyList = cachedExpandedKeyList || [];
+ newState.cachedExpandedKeyList = [];
+ } // Use expandedKeys if provided
+
+
+ if (prevProps.treeExpandedKeys !== treeExpandedKeys) {
+ newState.expandedKeyList = treeExpandedKeys;
+ } // Clean loadedKeys if key not exist in keyEntities anymore
+
+
+ if (nextProps.loadData) {
+ newState.loadedKeys = loadedKeys.filter(function (key) {
+ return key in keyEntities;
+ });
+ }
+
+ return newState;
+ }
+ }]);
+
+ return BasePopup;
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
+
+ _defineProperty(BasePopup, "propTypes", {
+ prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ upperSearchValue: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ valueList: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.array,
+ searchHalfCheckedKeys: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.array,
+ valueEntities: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
+ keyEntities: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
+ treeIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ treeLine: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ treeNodeFilterProp: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ treeCheckable: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node]),
+ treeCheckStrictly: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ treeDefaultExpandAll: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ treeDefaultExpandedKeys: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.array,
+ treeExpandedKeys: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.array,
+ loadData: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ multiple: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ onTreeExpand: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ treeNodes: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
+ filteredTreeNodes: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
+ notFoundContent: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
+ ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ switcherIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),
+ // HOC
+ renderSearch: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ onTreeExpanded: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func
+ });
+
+ _defineProperty(BasePopup, "contextTypes", {
+ rcTreeSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape(_objectSpread({}, popupContextTypes))
+ });
+
+ Object(__WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__["polyfill"])(BasePopup);
+ /* harmony default export */ __webpack_exports__["a"] = (BasePopup);
+
+ /***/ }),
+ /* 212 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.Con = exports.Row = exports.Col = undefined;
+
+ var _Col2 = __webpack_require__(1689);
+
+ var _Col3 = _interopRequireDefault(_Col2);
+
+ var _Row2 = __webpack_require__(1690);
+
+ var _Row3 = _interopRequireDefault(_Row2);
+
+ var _Layout = __webpack_require__(1691);
+
+ var _Layout2 = _interopRequireDefault(_Layout);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports.Col = _Col3["default"];
+ exports.Row = _Row3["default"];
+ exports.Con = _Layout2["default"];
+
+ /***/ }),
+ /* 213 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Button = __webpack_require__(545);
+
+ var _Button2 = _interopRequireDefault(_Button);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Button2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 214 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createForm__ = __webpack_require__(577);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__createFormField__ = __webpack_require__(232);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__propTypes__ = __webpack_require__(675);
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createFormField", function() { return __WEBPACK_IMPORTED_MODULE_1__createFormField__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "formShape", function() { return __WEBPACK_IMPORTED_MODULE_2__propTypes__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createForm", function() { return __WEBPACK_IMPORTED_MODULE_0__createForm__["a"]; });
+ // export this package's api
+
+
+
+
+
+
+ /***/ }),
+ /* 215 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = { "default": __webpack_require__(579), __esModule: true };
+
+ /***/ }),
+ /* 216 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = !__webpack_require__(41) && !__webpack_require__(53)(function () {
+ return Object.defineProperty(__webpack_require__(217)('div'), 'a', { get: function () { return 7; } }).a != 7;
+ });
+
+
+ /***/ }),
+ /* 217 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var isObject = __webpack_require__(52);
+ var document = __webpack_require__(39).document;
+ // typeof document.createElement is 'object' in old IE
+ var is = isObject(document) && isObject(document.createElement);
+ module.exports = function (it) {
+ return is ? document.createElement(it) : {};
+ };
+
+
+ /***/ }),
+ /* 218 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ __webpack_require__(583);
+ module.exports = __webpack_require__(24).Object.assign;
+
+
+ /***/ }),
+ /* 219 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var has = __webpack_require__(47);
+ var toIObject = __webpack_require__(54);
+ var arrayIndexOf = __webpack_require__(585)(false);
+ var IE_PROTO = __webpack_require__(125)('IE_PROTO');
+
+ module.exports = function (object, names) {
+ var O = toIObject(object);
+ var i = 0;
+ var result = [];
+ var key;
+ for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
+ // Don't enum bug & hidden keys
+ while (names.length > i) if (has(O, key = names[i++])) {
+ ~arrayIndexOf(result, key) || result.push(key);
+ }
+ return result;
+ };
+
+
+ /***/ }),
+ /* 220 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
+ var cof = __webpack_require__(122);
+ // eslint-disable-next-line no-prototype-builtins
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
+ return cof(it) == 'String' ? it.split('') : Object(it);
+ };
+
+
+ /***/ }),
+ /* 221 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // 7.1.15 ToLength
+ var toInteger = __webpack_require__(124);
+ var min = Math.min;
+ module.exports = function (it) {
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
+ };
+
+
+ /***/ }),
+ /* 222 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+ var $at = __webpack_require__(590)(true);
+
+ // 21.1.3.27 String.prototype[@@iterator]()
+ __webpack_require__(223)(String, 'String', function (iterated) {
+ this._t = String(iterated); // target
+ this._i = 0; // next index
+ // 21.1.5.2.1 %StringIteratorPrototype%.next()
+ }, function () {
+ var O = this._t;
+ var index = this._i;
+ var point;
+ if (index >= O.length) return { value: undefined, done: true };
+ point = $at(O, index);
+ this._i += point.length;
+ return { value: point, done: false };
+ });
+
+
+ /***/ }),
+ /* 223 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+ var LIBRARY = __webpack_require__(87);
+ var $export = __webpack_require__(38);
+ var redefine = __webpack_require__(224);
+ var hide = __webpack_require__(50);
+ var Iterators = __webpack_require__(68);
+ var $iterCreate = __webpack_require__(591);
+ var setToStringTag = __webpack_require__(130);
+ var getPrototypeOf = __webpack_require__(594);
+ var ITERATOR = __webpack_require__(29)('iterator');
+ var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+ var FF_ITERATOR = '@@iterator';
+ var KEYS = 'keys';
+ var VALUES = 'values';
+
+ var returnThis = function () { return this; };
+
+ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+ $iterCreate(Constructor, NAME, next);
+ var getMethod = function (kind) {
+ if (!BUGGY && kind in proto) return proto[kind];
+ switch (kind) {
+ case KEYS: return function keys() { return new Constructor(this, kind); };
+ case VALUES: return function values() { return new Constructor(this, kind); };
+ } return function entries() { return new Constructor(this, kind); };
+ };
+ var TAG = NAME + ' Iterator';
+ var DEF_VALUES = DEFAULT == VALUES;
+ var VALUES_BUG = false;
+ var proto = Base.prototype;
+ var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+ var $default = $native || getMethod(DEFAULT);
+ var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+ var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+ var methods, key, IteratorPrototype;
+ // Fix native
+ if ($anyNative) {
+ IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+ if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+ // Set @@toStringTag to native iterators
+ setToStringTag(IteratorPrototype, TAG, true);
+ // fix for some old engines
+ if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+ }
+ }
+ // fix Array#{values, @@iterator}.name in V8 / FF
+ if (DEF_VALUES && $native && $native.name !== VALUES) {
+ VALUES_BUG = true;
+ $default = function values() { return $native.call(this); };
+ }
+ // Define iterator
+ if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+ hide(proto, ITERATOR, $default);
+ }
+ // Plug for library
+ Iterators[NAME] = $default;
+ Iterators[TAG] = returnThis;
+ if (DEFAULT) {
+ methods = {
+ values: DEF_VALUES ? $default : getMethod(VALUES),
+ keys: IS_SET ? $default : getMethod(KEYS),
+ entries: $entries
+ };
+ if (FORCED) for (key in methods) {
+ if (!(key in proto)) redefine(proto, key, methods[key]);
+ } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+ }
+ return methods;
+ };
+
+
+ /***/ }),
+ /* 224 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(50);
+
+
+ /***/ }),
+ /* 225 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _util = __webpack_require__(16);
+
+ var util = _interopRequireWildcard(_util);
+
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
+
+ /**
+ * Rule for validating required fields.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+ function required(rule, value, source, errors, options, type) {
+ if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {
+ errors.push(util.format(options.messages.required, rule.fullField));
+ }
+ }
+
+ exports['default'] = required;
+
+ /***/ }),
+ /* 226 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+ /**
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+ var __DEV__ = process.env.NODE_ENV !== 'production';
+
+ var warning = function() {};
+
+ if (__DEV__) {
+ var printWarning = function printWarning(format, args) {
+ var len = arguments.length;
+ args = new Array(len > 1 ? len - 1 : 0);
+ for (var key = 1; key < len; key++) {
+ args[key - 1] = arguments[key];
+ }
+ var argIndex = 0;
+ var message = 'Warning: ' +
+ format.replace(/%s/g, function() {
+ return args[argIndex++];
+ });
+ if (typeof console !== 'undefined') {
+ console.error(message);
+ }
+ try {
+ // --- Welcome to debugging React ---
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch (x) {}
+ }
+
+ warning = function(condition, format, args) {
+ var len = arguments.length;
+ args = new Array(len > 2 ? len - 2 : 0);
+ for (var key = 2; key < len; key++) {
+ args[key - 2] = arguments[key];
+ }
+ if (format === undefined) {
+ throw new Error(
+ '`warning(condition, format, ...args)` requires a warning ' +
+ 'message argument'
+ );
+ }
+ if (!condition) {
+ printWarning.apply(null, [format].concat(args));
+ }
+ };
+ }
+
+ module.exports = warning;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 227 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var isArray = __webpack_require__(131),
+ isKey = __webpack_require__(631),
+ stringToPath = __webpack_require__(636),
+ toString = __webpack_require__(229);
+
+ /**
+ * Casts `value` to a path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @param {Object} [object] The object to query keys on.
+ * @returns {Array} Returns the cast property path array.
+ */
+ function castPath(value, object) {
+ if (isArray(value)) {
+ return value;
+ }
+ return isKey(value, object) ? [value] : stringToPath(toString(value));
+ }
+
+ module.exports = castPath;
+
+
+ /***/ }),
+ /* 228 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var Symbol = __webpack_require__(132),
+ getRawTag = __webpack_require__(633),
+ objectToString = __webpack_require__(634);
+
+ /** `Object#toString` result references. */
+ var nullTag = '[object Null]',
+ undefinedTag = '[object Undefined]';
+
+ /** Built-in value references. */
+ var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
+
+ /**
+ * The base implementation of `getTag` without fallbacks for buggy environments.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ function baseGetTag(value) {
+ if (value == null) {
+ return value === undefined ? undefinedTag : nullTag;
+ }
+ return (symToStringTag && symToStringTag in Object(value))
+ ? getRawTag(value)
+ : objectToString(value);
+ }
+
+ module.exports = baseGetTag;
+
+
+ /***/ }),
+ /* 229 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var baseToString = __webpack_require__(665);
+
+ /**
+ * Converts `value` to a string. An empty string is returned for `null`
+ * and `undefined` values. The sign of `-0` is preserved.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {string} Returns the converted string.
+ * @example
+ *
+ * _.toString(null);
+ * // => ''
+ *
+ * _.toString(-0);
+ * // => '-0'
+ *
+ * _.toString([1, 2, 3]);
+ * // => '1,2,3'
+ */
+ function toString(value) {
+ return value == null ? '' : baseToString(value);
+ }
+
+ module.exports = toString;
+
+
+ /***/ }),
+ /* 230 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var isSymbol = __webpack_require__(91);
+
+ /** Used as references for various `Number` constants. */
+ var INFINITY = 1 / 0;
+
+ /**
+ * Converts `value` to a string key if it's not a string or symbol.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {string|symbol} Returns the key.
+ */
+ function toKey(value) {
+ if (typeof value == 'string' || isSymbol(value)) {
+ return value;
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
+ }
+
+ module.exports = toKey;
+
+
+ /***/ }),
+ /* 231 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var baseSet = __webpack_require__(667);
+
+ /**
+ * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
+ * it's created. Arrays are created for missing index properties while objects
+ * are created for all other missing properties. Use `_.setWith` to customize
+ * `path` creation.
+ *
+ * **Note:** This method mutates `object`.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.7.0
+ * @category Object
+ * @param {Object} object The object to modify.
+ * @param {Array|string} path The path of the property to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.set(object, 'a[0].b.c', 4);
+ * console.log(object.a[0].b.c);
+ * // => 4
+ *
+ * _.set(object, ['x', '0', 'y', 'z'], 5);
+ * console.log(object.x[0].y.z);
+ * // => 5
+ */
+ function set(object, path, value) {
+ return object == null ? object : baseSet(object, path, value);
+ }
+
+ module.exports = set;
+
+
+ /***/ }),
+ /* 232 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["b"] = isFormField;
+ /* harmony export (immutable) */ __webpack_exports__["a"] = createFormField;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);
+
+
+
+ var Field = function Field(fields) {
+ __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Field);
+
+ __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()(this, fields);
+ };
+
+ function isFormField(obj) {
+ return obj instanceof Field;
+ }
+
+ function createFormField(field) {
+ if (isFormField(field)) {
+ return field;
+ }
+ return new Field(field);
+ }
+
+ /***/ }),
+ /* 233 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = argumentContainer;
+ /* harmony export (immutable) */ __webpack_exports__["i"] = identity;
+ /* harmony export (immutable) */ __webpack_exports__["b"] = flattenArray;
+ /* unused harmony export treeTraverse */
+ /* harmony export (immutable) */ __webpack_exports__["c"] = flattenFields;
+ /* harmony export (immutable) */ __webpack_exports__["k"] = normalizeValidateRules;
+ /* harmony export (immutable) */ __webpack_exports__["f"] = getValidateTriggers;
+ /* harmony export (immutable) */ __webpack_exports__["g"] = getValueFromEvent;
+ /* harmony export (immutable) */ __webpack_exports__["d"] = getErrorStrs;
+ /* harmony export (immutable) */ __webpack_exports__["e"] = getParams;
+ /* harmony export (immutable) */ __webpack_exports__["j"] = isEmptyObject;
+ /* harmony export (immutable) */ __webpack_exports__["h"] = hasRules;
+ /* harmony export (immutable) */ __webpack_exports__["l"] = startsWith;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_hoist_non_react_statics__ = __webpack_require__(234);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_hoist_non_react_statics__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning__ = __webpack_require__(226);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_warning__);
+
+
+
+
+ function getDisplayName(WrappedComponent) {
+ return WrappedComponent.displayName || WrappedComponent.name || 'WrappedComponent';
+ }
+
+ function argumentContainer(Container, WrappedComponent) {
+ /* eslint no-param-reassign:0 */
+ Container.displayName = 'Form(' + getDisplayName(WrappedComponent) + ')';
+ Container.WrappedComponent = WrappedComponent;
+ return __WEBPACK_IMPORTED_MODULE_1_hoist_non_react_statics___default()(Container, WrappedComponent);
+ }
+
+ function identity(obj) {
+ return obj;
+ }
+
+ function flattenArray(arr) {
+ return Array.prototype.concat.apply([], arr);
+ }
+
+ function treeTraverse() {
+ var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var tree = arguments[1];
+ var isLeafNode = arguments[2];
+ var errorMessage = arguments[3];
+ var callback = arguments[4];
+
+ if (isLeafNode(path, tree)) {
+ callback(path, tree);
+ } else if (tree === undefined || tree === null) {
+ // Do nothing
+ } else if (Array.isArray(tree)) {
+ tree.forEach(function (subTree, index) {
+ return treeTraverse(path + '[' + index + ']', subTree, isLeafNode, errorMessage, callback);
+ });
+ } else {
+ // It's object and not a leaf node
+ if (typeof tree !== 'object') {
+ __WEBPACK_IMPORTED_MODULE_2_warning___default()(false, errorMessage);
+ return;
+ }
+ Object.keys(tree).forEach(function (subTreeKey) {
+ var subTree = tree[subTreeKey];
+ treeTraverse('' + path + (path ? '.' : '') + subTreeKey, subTree, isLeafNode, errorMessage, callback);
+ });
+ }
+ }
+
+ function flattenFields(maybeNestedFields, isLeafNode, errorMessage) {
+ var fields = {};
+ treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, function (path, node) {
+ fields[path] = node;
+ });
+ return fields;
+ }
+
+ function normalizeValidateRules(validate, rules, validateTrigger) {
+ var validateRules = validate.map(function (item) {
+ var newItem = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, item, {
+ trigger: item.trigger || []
+ });
+ if (typeof newItem.trigger === 'string') {
+ newItem.trigger = [newItem.trigger];
+ }
+ return newItem;
+ });
+ if (rules) {
+ validateRules.push({
+ trigger: validateTrigger ? [].concat(validateTrigger) : [],
+ rules: rules
+ });
+ }
+ return validateRules;
+ }
+
+ function getValidateTriggers(validateRules) {
+ return validateRules.filter(function (item) {
+ return !!item.rules && item.rules.length;
+ }).map(function (item) {
+ return item.trigger;
+ }).reduce(function (pre, curr) {
+ return pre.concat(curr);
+ }, []);
+ }
+
+ function getValueFromEvent(e) {
+ // To support custom element
+ if (!e || !e.target) {
+ return e;
+ }
+ var target = e.target;
+
+ return target.type === 'checkbox' ? target.checked : target.value;
+ }
+
+ function getErrorStrs(errors) {
+ if (errors) {
+ return errors.map(function (e) {
+ if (e && e.message) {
+ return e.message;
+ }
+ return e;
+ });
+ }
+ return errors;
+ }
+
+ function getParams(ns, opt, cb) {
+ var names = ns;
+ var options = opt;
+ var callback = cb;
+ if (cb === undefined) {
+ if (typeof names === 'function') {
+ callback = names;
+ options = {};
+ names = undefined;
+ } else if (Array.isArray(names)) {
+ if (typeof options === 'function') {
+ callback = options;
+ options = {};
+ } else {
+ options = options || {};
+ }
+ } else {
+ callback = options;
+ options = names || {};
+ names = undefined;
+ }
+ }
+ return {
+ names: names,
+ options: options,
+ callback: callback
+ };
+ }
+
+ function isEmptyObject(obj) {
+ return Object.keys(obj).length === 0;
+ }
+
+ function hasRules(validate) {
+ if (validate) {
+ return validate.some(function (item) {
+ return item.rules && item.rules.length;
+ });
+ }
+ return false;
+ }
+
+ function startsWith(str, prefix) {
+ return str.lastIndexOf(prefix, 0) === 0;
+ }
+
+ /***/ }),
+ /* 234 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var reactIs = __webpack_require__(135);
+
+ /**
+ * Copyright 2015, Yahoo! Inc.
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+ var REACT_STATICS = {
+ childContextTypes: true,
+ contextType: true,
+ contextTypes: true,
+ defaultProps: true,
+ displayName: true,
+ getDefaultProps: true,
+ getDerivedStateFromError: true,
+ getDerivedStateFromProps: true,
+ mixins: true,
+ propTypes: true,
+ type: true
+ };
+ var KNOWN_STATICS = {
+ name: true,
+ length: true,
+ prototype: true,
+ caller: true,
+ callee: true,
+ arguments: true,
+ arity: true
+ };
+ var FORWARD_REF_STATICS = {
+ '$$typeof': true,
+ render: true,
+ defaultProps: true,
+ displayName: true,
+ propTypes: true
+ };
+ var MEMO_STATICS = {
+ '$$typeof': true,
+ compare: true,
+ defaultProps: true,
+ displayName: true,
+ propTypes: true,
+ type: true
+ };
+ var TYPE_STATICS = {};
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
+
+ function getStatics(component) {
+ // React v16.11 and below
+ if (reactIs.isMemo(component)) {
+ return MEMO_STATICS;
+ } // React v16.12 and above
+
+
+ return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
+ }
+
+ var defineProperty = Object.defineProperty;
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+ var getPrototypeOf = Object.getPrototypeOf;
+ var objectPrototype = Object.prototype;
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
+ if (typeof sourceComponent !== 'string') {
+ // don't hoist over string (html) components
+ if (objectPrototype) {
+ var inheritedComponent = getPrototypeOf(sourceComponent);
+
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
+ }
+ }
+
+ var keys = getOwnPropertyNames(sourceComponent);
+
+ if (getOwnPropertySymbols) {
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
+ }
+
+ var targetStatics = getStatics(targetComponent);
+ var sourceStatics = getStatics(sourceComponent);
+
+ for (var i = 0; i < keys.length; ++i) {
+ var key = keys[i];
+
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
+
+ try {
+ // Avoid failures from read-only properties
+ defineProperty(targetComponent, key, descriptor);
+ } catch (e) {}
+ }
+ }
+ }
+
+ return targetComponent;
+ }
+
+ module.exports = hoistNonReactStatics;
+
+
+ /***/ }),
+ /* 235 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+ /**
+ * Adds `container-fluid` class.
+ */
+ fluid: _propTypes2["default"].bool,
+ /**
+ * You can use a custom element for this component
+ */
+ componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
+ };
+
+ var defaultProps = {
+ componentClass: 'div',
+ fluid: false,
+ clsPrefix: 'u-container'
+ };
+
+ var Con = function (_React$Component) {
+ _inherits(Con, _React$Component);
+
+ function Con() {
+ _classCallCheck(this, Con);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ Con.prototype.render = function render() {
+ var _tbclass;
+
+ var _props = this.props,
+ fluid = _props.fluid,
+ Component = _props.componentClass,
+ clsPrefix = _props.clsPrefix,
+ className = _props.className,
+ others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);
+
+ var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);
+
+ return _react2["default"].createElement(
+ Component,
+ _extends({}, others, {
+ className: (0, _classnames2["default"])(tbclass, className)
+ }),
+ this.props.children
+ );
+ };
+
+ return Con;
+ }(_react2["default"].Component);
+
+ Con.propTypes = propTypes;
+ Con.defaultProps = defaultProps;
+
+ exports["default"] = Con;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 236 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ module.exports = __webpack_require__(684);
+
+ /***/ }),
+ /* 237 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _InputNumber = __webpack_require__(238);
+
+ var _InputNumber2 = _interopRequireDefault(_InputNumber);
+
+ var _InputNumberGroup = __webpack_require__(726);
+
+ var _InputNumberGroup2 = _interopRequireDefault(_InputNumberGroup);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ _InputNumber2["default"].InputNumberGroup = _InputNumberGroup2["default"];
+
+ exports["default"] = _InputNumber2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 238 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _beeInputGroup = __webpack_require__(690);
+
+ var _beeInputGroup2 = _interopRequireDefault(_beeInputGroup);
+
+ var _beeFormControl = __webpack_require__(695);
+
+ var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
+
+ var _beeMessage = __webpack_require__(239);
+
+ var _beeMessage2 = _interopRequireDefault(_beeMessage);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _i18n = __webpack_require__(724);
+
+ var _i18n2 = _interopRequireDefault(_i18n);
+
+ var _tool = __webpack_require__(725);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+ max: _propTypes2["default"].number,
+ min: _propTypes2["default"].number,
+ step: _propTypes2["default"].number,
+ autoWidth: _propTypes2["default"].bool,
+ precision: _propTypes2["default"].number,
+ format: _propTypes2["default"].func,
+ delay: _propTypes2["default"].number,
+ disabled: _propTypes2["default"].bool,
+ toThousands: _propTypes2["default"].bool,
+ locale: _propTypes2["default"].object,
+ toNumber: _propTypes2["default"].bool, //回调函数内的值是否转换为数值类型
+ displayCheckPrompt: _propTypes2["default"].bool, //是否显示超出限制范围之后的检验提示
+ minusRight: _propTypes2["default"].bool, //负号是否在右边
+ handleBtnClick: _propTypes2["default"].func //加减按钮点击回调
+ };
+
+ var defaultProps = {
+ value: "",
+ step: 1,
+ clsPrefix: 'u-input-number',
+ iconStyle: 'double',
+ autoWidth: false,
+ delay: 300,
+ toNumber: false,
+ displayCheckPrompt: false,
+ locale: {},
+ handleBtnClick: function handleBtnClick() {}
+ };
+
+ //校验提示
+ function prompt(content) {
+ _beeMessage2["default"].destroy();
+ _beeMessage2["default"].create({ content: content, color: 'warninglight' });
+ }
+
+ /**
+ * 千分符
+ * @param {要转换的数据} num
+ */
+ function toThousands(number) {
+ if (number === '') return '';
+ if (number === '0') return '0';
+ var num = (number || 0).toString();
+ var integer = num.split('.')[0];
+ var decimal = num.split('.')[1] || '';
+ var result = '';
+ while (integer.length > 3) {
+ result = ',' + integer.slice(-3) + result;
+ integer = integer.slice(0, integer.length - 3);
+ }
+ if (integer) {
+ result = integer + result;
+ if (num == '.' || num.indexOf('.') == num.length - 1) {
+ result = result + '.' + decimal;
+ } else if (decimal) {
+ result = result + '.' + decimal;
+ }
+ }
+ if (result[0] == '-') {
+ result = result.replace('-,', '-');
+ }
+ return result;
+ }
+
+ function setCaretPosition(ctrl, pos, need) {
+
+ if (ctrl && need) {
+ if (ctrl.setSelectionRange) {
+ ctrl.focus();
+ ctrl.setSelectionRange(pos, pos);
+ // IE8 and below
+ } else if (ctrl.createTextRange) {
+ var range = ctrl.createTextRange();
+ range.collapse(true);
+ range.moveEnd('character', pos);
+ range.moveStart('character', pos);
+ range.select();
+ }
+ }
+ }
+
+ var InputNumber = function (_Component) {
+ _inherits(InputNumber, _Component);
+
+ function InputNumber(props) {
+ _classCallCheck(this, InputNumber);
+
+ // 初始化状态,加减按钮是否可用,根据当前值判断
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var data = _this.judgeValue(props);
+ _this.state = {
+ value: data.value,
+ minusDisabled: data.minusDisabled,
+ plusDisabled: data.plusDisabled,
+ showValue: toThousands(data.value)
+ };
+
+ _this.timer = null;
+ _this.focus = false;
+ _this.selectionStart = 0;
+ return _this;
+ }
+
+ // unThousands = (number) =>{
+ // if(!number || number === "")return number;
+ // number = number.toString();
+ // return number.replace(new RegExp(this.props.formatSymbol,'g'),'');
+ // // return number.replace(/\,/g,'');
+ // }
+
+ /**
+ * 校验value
+ * @param {*} props
+ * @param {原来的值} oldValue
+ */
+
+
+ InputNumber.prototype.componentDidMount = function componentDidMount() {
+ this.setState({
+ value: this.props.value,
+ showValue: toThousands(this.props.value)
+ });
+ };
+
+ InputNumber.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.focus) {
+ if (nextProps.value == Infinity || nextProps.value == -Infinity) {} else {
+ this.setState({
+ value: nextProps.value,
+ showValue: toThousands(nextProps.value)
+ });
+ }
+ } else {
+ var data = this.judgeValue(nextProps, this.state.value);
+ this.setState({
+ value: data.value,
+ showValue: toThousands(data.value),
+ minusDisabled: data.minusDisabled,
+ plusDisabled: data.plusDisabled
+ });
+ }
+ };
+
+ InputNumber.prototype.ComponentWillUnMount = function ComponentWillUnMount() {
+ this.clear();
+ };
+
+ /**
+ * @memberof InputNumber
+ * type 是否要四舍五入(此参数无效,超长不让输入)
+ */
+
+ /**
+ * 恢复科学技术法的问题
+ */
+
+ /**
+ * 设置增加减少按钮是否可用
+ */
+
+ /**
+ * 减法
+ */
+
+ /**
+ * 加法
+ */
+
+
+ /**
+ * 分离小数和整数
+ * @param value
+ * @returns {*}
+ */
+
+
+ InputNumber.prototype.render = function render() {
+ var _classes,
+ _this2 = this;
+
+ var _props = this.props,
+ toThousands = _props.toThousands,
+ minusRight = _props.minusRight,
+ max = _props.max,
+ min = _props.min,
+ step = _props.step,
+ disabled = _props.disabled,
+ clsPrefix = _props.clsPrefix,
+ className = _props.className,
+ delay = _props.delay,
+ onBlur = _props.onBlur,
+ onFocus = _props.onFocus,
+ iconStyle = _props.iconStyle,
+ autoWidth = _props.autoWidth,
+ onChange = _props.onChange,
+ format = _props.format,
+ precision = _props.precision,
+ toNumber = _props.toNumber,
+ others = _objectWithoutProperties(_props, ['toThousands', 'minusRight', 'max', 'min', 'step', 'disabled', 'clsPrefix', 'className', 'delay', 'onBlur', 'onFocus', 'iconStyle', 'autoWidth', 'onChange', 'format', 'precision', 'toNumber']);
+
+ var classes = (_classes = {}, _defineProperty(_classes, clsPrefix + '-auto', autoWidth), _defineProperty(_classes, '' + clsPrefix, true), _defineProperty(_classes, clsPrefix + '-lg', others.size === "lg"), _defineProperty(_classes, clsPrefix + '-sm', others.size === "sm"), _classes);
+
+ var _state = this.state,
+ value = _state.value,
+ minusDisabled = _state.minusDisabled,
+ plusDisabled = _state.plusDisabled,
+ showValue = _state.showValue;
+
+ value = precision != null && !this.focus ? this.getPrecision(value) : value;
+ value = format && !this.focus ? format(value) : value;
+ value = String(value).indexOf("e") !== -1 ? this.getFullNum(value) : value;
+ if (minusRight && String(value).indexOf('-') != -1) {
+ value = String(value).replace("-", "") + "-";
+ }
+ var disabledCursor = disabled ? ' disabled-cursor' : '';
+ var disabledCon = disabled ? ' disabled-con' : '';
+ return _react2["default"].createElement(
+ 'div',
+ { className: clsPrefix + '-out' },
+ iconStyle === 'double' ? _react2["default"].createElement(
+ _beeInputGroup2["default"],
+ { className: (0, _classnames2["default"])(className, classes, disabledCon) },
+ _react2["default"].createElement(
+ _beeInputGroup2["default"].Addon,
+ {
+ // onClick={()=>{minusDisabled?'':this.handleBtnClick('down')}}
+ className: (minusDisabled && 'disabled') + disabledCursor,
+ onMouseDown: this.handleReduceMouseDown,
+ onMouseLeave: this.clear,
+ onMouseUp: this.clear },
+ '-'
+ ),
+ _react2["default"].createElement(_beeFormControl2["default"], _extends({}, others, {
+ value: toThousands ? showValue : value,
+ disabled: disabled,
+ onBlur: this.handleBlur,
+ onFocus: this.handleFocus,
+ onChange: this.handleChange,
+ ref: function ref(_ref) {
+ return _this2.input = _ref;
+ }
+ })),
+ _react2["default"].createElement(
+ _beeInputGroup2["default"].Addon,
+ {
+ // onClick={()=>{plusDisabled?'':this.handleBtnClick('up')}}
+ className: (plusDisabled && 'disabled') + disabledCursor,
+ onMouseDown: this.handlePlusMouseDown,
+ onMouseLeave: this.clear,
+ onMouseUp: this.clear },
+ '+'
+ )
+ ) : _react2["default"].createElement(
+ _beeInputGroup2["default"],
+ {
+ className: (0, _classnames2["default"])(className, classes, disabledCon),
+ simple: true
+ },
+ _react2["default"].createElement(_beeFormControl2["default"], _extends({}, others, {
+ value: toThousands ? showValue : value,
+ disabled: disabled,
+ onBlur: this.handleBlur,
+ onFocus: this.handleFocus,
+ onChange: this.handleChange,
+ ref: function ref(_ref2) {
+ return _this2.input = _ref2;
+ }
+ })),
+ _react2["default"].createElement(
+ _beeInputGroup2["default"].Button,
+ null,
+ _react2["default"].createElement(
+ 'div',
+ { className: (0, _classnames2["default"])("icon-group") },
+ _react2["default"].createElement(
+ 'span',
+ {
+ // onClick={()=>{plusDisabled?'':this.handleBtnClick('up')}}
+ onMouseDown: this.handlePlusMouseDown,
+ onMouseLeave: this.clear,
+ onMouseUp: this.clear,
+ className: (0, _classnames2["default"])('plus', { 'disabled': plusDisabled, 'disabled-cursor': disabledCursor }) },
+ _react2["default"].createElement('span', { className: 'uf uf-arrow-up' })
+ ),
+ _react2["default"].createElement(
+ 'span',
+ {
+ // onClick={()=> minusDisabled?'':this.handleBtnClick('down')}
+ onMouseDown: this.handleReduceMouseDown,
+ onMouseLeave: this.clear,
+ onMouseUp: this.clear,
+ className: (0, _classnames2["default"])("reduce", { 'disabled': minusDisabled, 'disabled-cursor': disabledCursor }) },
+ _react2["default"].createElement('span', { className: ' uf uf-arrow-down' })
+ )
+ )
+ )
+ )
+ );
+ };
+
+ return InputNumber;
+ }(_react.Component);
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.judgeValue = function (props, oldValue) {
+ var currentValue = void 0;
+ var currentMinusDisabled = false;
+ var currentPlusDisabled = false;
+ var value = props.value,
+ min = props.min,
+ max = props.max,
+ precision = props.precision,
+ onChange = props.onChange,
+ displayCheckPrompt = props.displayCheckPrompt;
+
+ if (props.minusRight) {
+ value = value.toString();
+ if (value.indexOf('-') != -1) {
+ //所有位置的负号转到前边
+ value = value.replace('-', '');
+ value = '-' + value;
+ }
+ value = Number(value);
+ }
+ if (value != undefined && value != null) {
+ if (value === '') {
+ currentValue = '';
+ return {
+ value: '',
+ minusDisabled: false,
+ plusDisabled: false
+ };
+ } else {
+ currentValue = Number(value) || 0;
+ }
+ } //lse if (min&&(value!='')) {//mdd中提出bug
+ //currentValue = min;
+ //}
+ else if (value === '0' || value === 0) {
+ currentValue = 0;
+ } else {
+ //NaN
+ if (oldValue || oldValue === 0 || oldValue === '0') {
+ currentValue = oldValue;
+ } else {
+ //value为空
+ return {
+ value: '',
+ minusDisabled: false,
+ plusDisabled: false
+ };
+ }
+ }
+ if (currentValue == -Infinity) {
+ return {
+ value: min,
+ minusDisabled: true,
+ plusDisabled: false
+ };
+ }
+ if (currentValue == Infinity) {
+ return {
+ value: max,
+ minusDisabled: false,
+ plusDisabled: true
+ };
+ }
+ var local = (0, _tool.getComponentLocale)(props, _this3.context, 'InputNumber', function () {
+ return _i18n2["default"];
+ });
+ if (currentValue <= min) {
+ if (displayCheckPrompt) prompt(local['msgMin']);
+ currentMinusDisabled = true;
+ currentValue = min;
+ }
+ if (currentValue >= max) {
+ if (displayCheckPrompt) prompt(local['msgMax']);
+ currentPlusDisabled = true;
+ currentValue = max;
+ }
+
+ if (props.hasOwnProperty('precision')) {
+ // currentValue = Number(currentValue).toFixed(precision);
+ currentValue = _this3.getPrecision(currentValue);
+ }
+ if (props.minusRight) {
+ currentValue = currentValue.toString();
+ if (currentValue.indexOf('-') != -1) {
+ //负号转到后边
+ currentValue = currentValue.replace('-', '');
+ currentValue = currentValue + '-';
+ }
+ }
+
+ return {
+ value: currentValue,
+ minusDisabled: currentMinusDisabled,
+ plusDisabled: currentPlusDisabled
+ };
+ };
+
+ this.numToFixed = function (value, fixed, type) {
+ value = String(value);
+ if (!value && value !== "0") return value;
+ if (!fixed && String(fixed) !== "0") return value;
+ var preIndex = value.indexOf(".");
+ if (value.indexOf(".") === -1) return value;
+ preIndex++;
+ var endIndex = preIndex + fixed;
+ var precValue = value.substr(preIndex, endIndex) + "0000000000";
+ if (type) {
+ return Number(value).toFixed(fixed);
+ }
+ return value.split(".")[0] + "." + precValue.substr(0, fixed);
+ };
+
+ this.handleChange = function (value) {
+ var selectionStart = _this3.input.selectionStart == undefined ? _this3.input.input.selectionStart : _this3.input.selectionStart;
+ _this3.selectionStart = selectionStart;
+ var _props2 = _this3.props,
+ onChange = _props2.onChange,
+ toNumber = _props2.toNumber,
+ minusRight = _props2.minusRight;
+
+ if (value === '') {
+ onChange && onChange(value);
+ _this3.setState({
+ value: value,
+ showValue: ''
+ });
+ return;
+ }
+ // value = this.unThousands(value);
+ if (minusRight) {
+ if (value.match(/-/g) && value.match(/-/g).length > 1) return;
+ }
+ if (isNaN(value) && value !== '.' && value !== '-') return;
+ if (value.indexOf(".") !== -1) {
+ //小数最大值处理
+ var prec = String(value.split(".")[1]).replace("-", "");
+ if (_this3.props.precision === 0 && (prec === "" || prec != "")) return;
+ if (_this3.props.precision && prec.length > _this3.props.precision) return;
+ if (prec.length > 8) return;
+ }
+ _this3.setState({
+ value: value,
+ showValue: toThousands(value)
+ });
+ if (value === '-') {
+ onChange && onChange(value);
+ } else if (value == '.' || value.indexOf('.') == value.length - 1) {
+ //当输入小数点的时候
+ onChange && onChange(value);
+ } else if (value[value.indexOf('.') + 1] == 0) {
+ //当输入 d.0 的时候,不转换Number
+ onChange && onChange(value);
+ } else {
+ toNumber ? onChange && onChange(Number(value)) : onChange && onChange(value);
+ }
+ if (_this3.props.toThousands) {
+ var stateShowValue = toThousands(_this3.state.value);
+ var showValue = toThousands(value);
+ var addNumber = 0;
+ var delNumber = 0;
+ var reg = /[0-9]/;
+ for (var i = 0; i < selectionStart; i++) {
+ if (!reg.test(showValue[i])) addNumber += 1;
+ }
+ for (var j = 0; j < selectionStart; j++) {
+ if (stateShowValue[j]) {
+ if (!reg.test(stateShowValue[j])) delNumber += 1;
+ }
+ }
+ var position = selectionStart + addNumber - delNumber;
+ setCaretPosition(_this3.input && _this3.input.input, position, true);
+ }
+ };
+
+ this.handleFocus = function (value, e) {
+ _this3.focus = true;
+ var _props3 = _this3.props,
+ onFocus = _props3.onFocus,
+ min = _props3.min,
+ max = _props3.max;
+
+ onFocus && onFocus(_this3.getPrecision(_this3.state.value), e);
+ };
+
+ this.getFullNum = function (num) {
+ //处理非数字
+ if (isNaN(num)) {
+ return num;
+ };
+
+ //处理不需要转换的数字
+ var str = '' + num;
+ if (!/e/i.test(str)) {
+ return num;
+ };
+ var _precision = _this3.props.precision ? _this3.props.precision : 18;
+ return Number(num).toFixed(_precision).replace(/\.?0+$/, "");
+ };
+
+ this.handleBlur = function (v, e) {
+ _this3.focus = false;
+ var _props4 = _this3.props,
+ onBlur = _props4.onBlur,
+ precision = _props4.precision,
+ onChange = _props4.onChange,
+ toNumber = _props4.toNumber,
+ max = _props4.max,
+ min = _props4.min,
+ displayCheckPrompt = _props4.displayCheckPrompt,
+ minusRight = _props4.minusRight,
+ round = _props4.round;
+
+ var local = (0, _tool.getComponentLocale)(_this3.props, _this3.context, 'InputNumber', function () {
+ return _i18n2["default"];
+ });
+ v = _this3.state.value; //在onBlur的时候不需要活输入框的只,而是要获取state中的值,因为有format的时候就会有问题。
+ if (v === '' || !v) {
+ _this3.setState({
+ value: v
+ });
+ onChange && onChange(v);
+ onBlur && onBlur(v, e);
+ return;
+ }
+ // let value = this.unThousands(v);
+ var value = _this3.numToFixed(v, precision, round);
+ if (minusRight) {
+ if (value.indexOf('-') != -1) {
+ //所有位置的负号转到前边
+ value = value.replace('-', '');
+ value = '-' + value;
+ }
+ }
+ value = isNaN(Number(value)) ? 0 : Number(value);
+ if (value > max) {
+ if (displayCheckPrompt) prompt(local['msgMax']);
+ value = max;
+ }
+ if (value < min) {
+ if (displayCheckPrompt) prompt(local['msgMin']);
+ value = min;
+ }
+ if (_this3.props.hasOwnProperty('precision')) {
+ // value = value.toFixed(precision);
+ value = _this3.getPrecision(value);
+ }
+ value = value.toString();
+ if (minusRight && value.indexOf('-') != -1) {
+ //负号转到后边
+ value = value.replace('-', '');
+ value = value + '-';
+ }
+ _this3.setState({
+ value: value,
+ showValue: toThousands(value)
+ });
+ _this3.detailDisable(value);
+ if (toNumber && !minusRight) {
+ onChange && onChange(value);
+ onBlur && onBlur(value, e);
+ } else {
+ onChange && onChange(value);
+ onBlur && onBlur(value, e);
+ }
+ };
+
+ this.detailDisable = function (value) {
+ var _props5 = _this3.props,
+ max = _props5.max,
+ min = _props5.min,
+ step = _props5.step;
+
+
+ if (value >= max || Number(value) + Number(step) > max) {
+ _this3.setState({
+ plusDisabled: true
+ });
+ } else {
+ _this3.setState({
+ plusDisabled: false
+ });
+ }
+ if (value <= min || value - step < min) {
+ _this3.setState({
+ minusDisabled: true
+ });
+ } else {
+ _this3.setState({
+ minusDisabled: false
+ });
+ }
+ };
+
+ this.minus = function (value) {
+ var _props6 = _this3.props,
+ min = _props6.min,
+ max = _props6.max,
+ step = _props6.step,
+ onChange = _props6.onChange,
+ toNumber = _props6.toNumber;
+
+ value = value === '-' ? 0 : value;
+ if (typeof min === "undefined") {
+ value = _this3.detail(value, step, 'reduce');
+ } else {
+ if (value < min) {
+ value = min;
+ } else {
+ var reducedValue = _this3.detail(value, step, 'reduce');
+ if (reducedValue >= min) {
+ value = reducedValue;
+ }
+ }
+ }
+
+ if (value > max) {
+ value = max;
+ }
+
+ _this3.setState({
+ value: value,
+ showValue: toThousands(value)
+ }, function () {
+ _this3.input.input.focus && _this3.input.input.focus();
+ });
+ toNumber ? onChange && onChange(Number(value)) : onChange && onChange(value);
+ _this3.handleBtnClick('down', value);
+ _this3.detailDisable(value);
+ };
+
+ this.plus = function (value) {
+ var _props7 = _this3.props,
+ max = _props7.max,
+ min = _props7.min,
+ step = _props7.step,
+ onChange = _props7.onChange,
+ toNumber = _props7.toNumber;
+
+ value = value === '-' ? 0 : value;
+ if (typeof max === "undefined") {
+ value = _this3.detail(value, step, 'add');
+ } else {
+ if (value > max) {
+ value = max;
+ } else {
+ var addedValue = _this3.detail(value, step, 'add');
+ if (addedValue <= max) {
+ value = addedValue;
+ }
+ }
+ }
+ if (value < min) {
+ value = min;
+ }
+ _this3.setState({
+ value: value,
+ showValue: toThousands(value)
+ }, function () {
+ _this3.input.input.focus && _this3.input.input.focus();
+ });
+ toNumber ? onChange && onChange(Number(value)) : onChange && onChange(value);
+ _this3.handleBtnClick('up', value);
+ _this3.detailDisable(value);
+ };
+
+ this.detail = function (value, step, type) {
+ var precision = _this3.props.precision;
+
+
+ var valueFloat = _this3.separate(value);
+ var stepFloat = _this3.separate(step);
+
+ var ans = void 0;
+ var stepFloatLength = stepFloat.toString().length;
+ var valueFloatLength = valueFloat.toString().length;
+
+ if (typeof precision === 'undefined') {
+ precision = Math.max(stepFloatLength, valueFloatLength);
+ }
+ var coefficient = Math.pow(10, Math.abs(stepFloatLength - valueFloatLength));
+ if (type === 'add') {
+ ans = (value * coefficient + step * coefficient) / coefficient;
+ } else {
+ ans = (value * coefficient - step * coefficient) / coefficient;
+ }
+
+ return ans.toFixed(precision);
+ };
+
+ this.separate = function (value) {
+ if (value == null || value == undefined) {
+ return "";
+ } else {
+ value = value.toString();
+ if (value.indexOf('.') > -1) {
+ return value.split('.')[1];
+ } else {
+ return "";
+ }
+ }
+ };
+
+ this.clear = function () {
+ if (_this3.timer) {
+ clearTimeout(_this3.timer);
+ }
+ };
+
+ this.handlePlusMouseDown = function (e) {
+ e.preventDefault && e.preventDefault();
+ var _props8 = _this3.props,
+ delay = _props8.delay,
+ disabled = _props8.disabled;
+ var value = _this3.state.value;
+
+ if (disabled) return;
+ _this3.plus(value);
+ _this3.clear();
+ _this3.timer = setTimeout(function () {
+ _this3.handlePlusMouseDown(e);
+ }, delay);
+ };
+
+ this.handleReduceMouseDown = function (e) {
+ e.preventDefault && e.preventDefault();
+ var _props9 = _this3.props,
+ delay = _props9.delay,
+ disabled = _props9.disabled;
+ var value = _this3.state.value;
+
+ if (disabled) return;
+ _this3.minus(value);
+ _this3.clear();
+ _this3.timer = setTimeout(function () {
+ _this3.handleReduceMouseDown(e);
+ }, delay);
+ };
+
+ this.getPrecision = function (value) {
+ if (value == null || value == undefined) return value;
+ if (!value && value === "") return value;
+ value = String(value);
+ value = value.indexOf("e") !== -1 ? _this3.getFullNum(value) : value;
+ var precision = _this3.props.precision;
+
+ if (precision === 0) return value;
+ if (precision == undefined || value.indexOf(".") !== -1 && String(value.split(".")[1]).length === precision) {
+ return value;
+ }
+ var before = value.substring(0, 1),
+ len = value.length,
+ after = value.substring(len - 1, len);
+ before = before === "-" ? before : "";
+ after = after === "-" ? after : "";
+ //是科学计数法,不replace -
+ if (before) value = value.substring(1, len - 1);
+ if (after) value = value.substring(0, len - 1);
+ // value = value.replace("-",'');
+ var precV = "000000000000000000000000000000000000000000000000000000000000000000000000";
+ if (value.indexOf(".") === -1) {
+ precV = precV.substr(0, precision);
+ precV = precV ? "." + precV : precV;
+ if (!isNaN(value) && (value.indexOf('-') != -1 || value.indexOf('+') != -1) && value.indexOf('e') != -1) {//是科学计数法,不拼接0000000
+
+ } else {
+ value = value + precV;
+ }
+ }
+ return before + Number(value).toFixed(precision) + after;
+ };
+
+ this.handleBtnClick = function (type, value) {
+ _this3.props.handleBtnClick(type, value);
+ };
+ };
+
+ ;
+
+ InputNumber.defaultProps = defaultProps;
+ InputNumber.propTypes = propTypes;
+ InputNumber.contextTypes = {
+ beeLocale: _propTypes2["default"].object
+ };
+ exports["default"] = InputNumber;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 239 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Message = __webpack_require__(697);
+
+ var _Message2 = _interopRequireDefault(_Message);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Message2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 240 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 241 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 242 */
+ /***/ (function(module, exports) {
+
+ module.exports = function(arr, obj){
+ if (arr.indexOf) return arr.indexOf(obj);
+ for (var i = 0; i < arr.length; ++i) {
+ if (arr[i] === obj) return i;
+ }
+ return -1;
+ };
+
+ /***/ }),
+ /* 243 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ exports["default"] = util;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 244 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+
+ colors: _propTypes2["default"].oneOf(['', 'dark', 'success', 'info', 'warning', 'danger', 'primary']),
+
+ disabled: _propTypes2["default"].bool,
+
+ inverse: _propTypes2["default"].bool
+
+ };
+
+ var defaultProps = {
+ disabled: false,
+ inverse: false,
+ colors: 'primary',
+ clsPrefix: 'u-checkbox',
+ defaultChecked: false,
+ onClick: function onClick() {}
+ };
+ var clsPrefix = 'u-checkbox';
+
+ var Checkbox = function (_React$Component) {
+ _inherits(Checkbox, _React$Component);
+
+ function Checkbox(props) {
+ _classCallCheck(this, Checkbox);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ _this.state = {
+ checked: 'checked' in props ? props.checked : props.defaultChecked,
+ focused: false
+ };
+ _this.doubleClickFlag = null;
+ return _this;
+ }
+
+ Checkbox.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if ('checked' in nextProps) {
+ this.setState({
+ checked: nextProps.checked
+ });
+ }
+ };
+
+ Checkbox.prototype.render = function render() {
+ var _classes;
+
+ var _props = this.props,
+ disabled = _props.disabled,
+ inverse = _props.inverse,
+ colors = _props.colors,
+ size = _props.size,
+ className = _props.className,
+ indeterminate = _props.indeterminate,
+ onClick = _props.onClick,
+ children = _props.children,
+ checked = _props.checked,
+ clsPrefix = _props.clsPrefix,
+ onDoubleClick = _props.onDoubleClick,
+ onChange = _props.onChange,
+ others = _objectWithoutProperties(_props, ['disabled', 'inverse', 'colors', 'size', 'className', 'indeterminate', 'onClick', 'children', 'checked', 'clsPrefix', 'onDoubleClick', 'onChange']);
+
+ var input = _react2["default"].createElement('input', _extends({}, others, {
+ type: 'checkbox',
+ disabled: this.props.disabled,
+ onFocus: this.handleFocus,
+ onBlur: this.handleBlur
+ }));
+
+ var classes = (_classes = {}, _defineProperty(_classes, clsPrefix + '-focused', this.state.focused), _defineProperty(_classes, 'is-checked', this.state.checked), _defineProperty(_classes, 'disabled', disabled), _classes);
+
+ if (inverse) {
+ classes[clsPrefix + '-inverse'] = true;
+ }
+
+ if (colors) {
+ classes[clsPrefix + '-' + colors] = true;
+ }
+
+ if (size) {
+ classes[clsPrefix + '-' + size] = true;
+ }
+
+ if (!checked && indeterminate) {
+ classes[clsPrefix + '-indeterminate'] = true;
+ }
+
+ var classNames = (0, _classnames2["default"])(clsPrefix, classes);
+
+ return _react2["default"].createElement(
+ 'label',
+ {
+ className: (0, _classnames2["default"])(classNames, className),
+ onDoubleClick: this.handledbClick,
+ onClick: this.changeState },
+ input,
+ _react2["default"].createElement(
+ 'label',
+ { className: clsPrefix + '-label' },
+ children
+ )
+ );
+ };
+
+ return Checkbox;
+ }(_react2["default"].Component);
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.changeState = function (e) {
+ var props = _this2.props;
+ var checked = _this2.state.checked;
+
+ clearTimeout(_this2.doubleClickFlag);
+ if (props.onClick instanceof Function) {
+ props.onClick(e);
+ }
+ if (props.onDoubleClick instanceof Function) {
+ _this2.doubleClickFlag = setTimeout(function () {
+ //do function在此处写单击事件要执行的代码
+ _this2.change(props, checked);
+ }, 300);
+ } else {
+ _this2.change(props, checked);
+ }
+ e.stopPropagation();
+ e.preventDefault();
+ //执行延时
+ };
+
+ this.change = function (props, checked) {
+ if (props.disabled) {
+ return;
+ }
+ if (!('checked' in props)) {
+ _this2.setState({
+ checked: !checked
+ });
+ }
+
+ if (props.onChange instanceof Function) {
+ props.onChange(!checked);
+ }
+ };
+
+ this.handledbClick = function (e) {
+ var onDoubleClick = _this2.props.onDoubleClick;
+
+ clearTimeout(_this2.doubleClickFlag);
+ onDoubleClick && onDoubleClick(_this2.state.checked, e);
+ };
+
+ this.handleFocus = function (e) {
+ if (e.target && e.target.type == 'checkbox') {
+ _this2.setState({
+ focused: true
+ });
+ }
+ };
+
+ this.handleBlur = function (e) {
+ if (e.target && e.target.type == 'checkbox') {
+ _this2.setState({
+ focused: false
+ });
+ }
+ };
+ };
+
+ Checkbox.propTypes = propTypes;
+ Checkbox.defaultProps = defaultProps;
+
+ exports["default"] = Checkbox;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 245 */
+ /***/ (function(module, exports) {
+
+ module.exports = function(module) {
+ if(!module.webpackPolyfill) {
+ module.deprecate = function() {};
+ module.paths = [];
+ // module.parent = undefined by default
+ if(!module.children) module.children = [];
+ Object.defineProperty(module, "loaded", {
+ enumerable: true,
+ get: function() {
+ return module.l;
+ }
+ });
+ Object.defineProperty(module, "id", {
+ enumerable: true,
+ get: function() {
+ return module.i;
+ }
+ });
+ module.webpackPolyfill = 1;
+ }
+ return module;
+ };
+
+
+ /***/ }),
+ /* 246 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(740);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(741);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(742);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(743);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(744);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(745);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(746);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(747);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(748);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(247);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(749);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(751);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(752);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 247 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 248 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 249 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ exports["default"] = util;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 250 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Menu__ = __webpack_require__(770);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SubMenu__ = __webpack_require__(257);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__MenuItem__ = __webpack_require__(807);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__MenuItemGroup__ = __webpack_require__(810);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Divider__ = __webpack_require__(811);
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "SubMenu", function() { return __WEBPACK_IMPORTED_MODULE_1__SubMenu__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Item", function() { return __WEBPACK_IMPORTED_MODULE_2__MenuItem__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MenuItem", function() { return __WEBPACK_IMPORTED_MODULE_2__MenuItem__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MenuItemGroup", function() { return __WEBPACK_IMPORTED_MODULE_3__MenuItemGroup__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ItemGroup", function() { return __WEBPACK_IMPORTED_MODULE_3__MenuItemGroup__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Divider", function() { return __WEBPACK_IMPORTED_MODULE_4__Divider__["a"]; });
+
+
+
+
+
+
+
+
+ /* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__Menu__["a" /* default */]);
+
+ /***/ }),
+ /* 251 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
+ var $keys = __webpack_require__(219);
+ var hiddenKeys = __webpack_require__(127).concat('length', 'prototype');
+
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+ return $keys(O, hiddenKeys);
+ };
+
+
+ /***/ }),
+ /* 252 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var pIE = __webpack_require__(89);
+ var createDesc = __webpack_require__(65);
+ var toIObject = __webpack_require__(54);
+ var toPrimitive = __webpack_require__(121);
+ var has = __webpack_require__(47);
+ var IE8_DOM_DEFINE = __webpack_require__(216);
+ var gOPD = Object.getOwnPropertyDescriptor;
+
+ exports.f = __webpack_require__(41) ? gOPD : function getOwnPropertyDescriptor(O, P) {
+ O = toIObject(O);
+ P = toPrimitive(P, true);
+ if (IE8_DOM_DEFINE) try {
+ return gOPD(O, P);
+ } catch (e) { /* empty */ }
+ if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
+ };
+
+
+ /***/ }),
+ /* 253 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ __webpack_require__(792);
+ var $Object = __webpack_require__(24).Object;
+ module.exports = function create(P, D) {
+ return $Object.create(P, D);
+ };
+
+
+ /***/ }),
+ /* 254 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.storeShape = undefined;
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var storeShape = exports.storeShape = _propTypes2.default.shape({
+ subscribe: _propTypes2.default.func.isRequired,
+ setState: _propTypes2.default.func.isRequired,
+ getState: _propTypes2.default.func.isRequired
+ });
+
+ /***/ }),
+ /* 255 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getActiveKey;
+ /* unused harmony export saveRef */
+ /* unused harmony export SubPopupMenu */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(23);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store__ = __webpack_require__(21);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_mini_store__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__ = __webpack_require__(43);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rc_util_es_createChainedFunction__ = __webpack_require__(256);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__util__ = __webpack_require__(58);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__DOMWrap__ = __webpack_require__(797);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ function allDisabled(arr) {
+ if (!arr.length) {
+ return true;
+ }
+ return arr.every(function (c) {
+ return !!c.props.disabled;
+ });
+ }
+
+ function updateActiveKey(store, menuId, activeKey) {
+ var _extends2;
+
+ var state = store.getState();
+ store.setState({
+ activeKey: __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({}, state.activeKey, (_extends2 = {}, _extends2[menuId] = activeKey, _extends2))
+ });
+ }
+
+ function getEventKey(props) {
+ // when eventKey not available ,it's menu and return menu id '0-menu-'
+ return props.eventKey || '0-menu-';
+ }
+
+ function getActiveKey(props, originalActiveKey) {
+ var activeKey = originalActiveKey;
+ var children = props.children,
+ eventKey = props.eventKey;
+
+ if (activeKey) {
+ var found = void 0;
+ Object(__WEBPACK_IMPORTED_MODULE_11__util__["d" /* loopMenuItem */])(children, function (c, i) {
+ if (c && !c.props.disabled && activeKey === Object(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getKeyFromChildrenIndex */])(c, eventKey, i)) {
+ found = true;
+ }
+ });
+ if (found) {
+ return activeKey;
+ }
+ }
+ activeKey = null;
+ if (props.defaultActiveFirst) {
+ Object(__WEBPACK_IMPORTED_MODULE_11__util__["d" /* loopMenuItem */])(children, function (c, i) {
+ if (!activeKey && c && !c.props.disabled) {
+ activeKey = Object(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getKeyFromChildrenIndex */])(c, eventKey, i);
+ }
+ });
+ return activeKey;
+ }
+ return activeKey;
+ }
+
+ function saveRef(c) {
+ if (c) {
+ var index = this.instanceArray.indexOf(c);
+ if (index !== -1) {
+ // update component if it's already inside instanceArray
+ this.instanceArray[index] = c;
+ } else {
+ // add component if it's not in instanceArray yet;
+ this.instanceArray.push(c);
+ }
+ }
+ }
+
+ var SubPopupMenu = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SubPopupMenu, _React$Component);
+
+ function SubPopupMenu(props) {
+ var _extends3;
+
+ __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SubPopupMenu);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ props.store.setState({
+ activeKey: __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({}, props.store.getState().activeKey, (_extends3 = {}, _extends3[props.eventKey] = getActiveKey(props, props.activeKey), _extends3))
+ });
+
+ _this.instanceArray = [];
+ return _this;
+ }
+
+ SubPopupMenu.prototype.componentDidMount = function componentDidMount() {
+ // invoke customized ref to expose component to mixin
+ if (this.props.manualRef) {
+ this.props.manualRef(this);
+ }
+ };
+
+ SubPopupMenu.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return this.props.visible || nextProps.visible;
+ };
+
+ SubPopupMenu.prototype.componentDidUpdate = function componentDidUpdate() {
+ var props = this.props;
+ var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];
+ var activeKey = getActiveKey(props, originalActiveKey);
+ if (activeKey !== originalActiveKey) {
+ updateActiveKey(props.store, getEventKey(props), activeKey);
+ }
+ };
+
+ // all keyboard events callbacks run from here at first
+
+
+ SubPopupMenu.prototype.render = function render() {
+ var _this2 = this;
+
+ var props = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default()(this.props, []);
+
+ this.instanceArray = [];
+ var className = __WEBPACK_IMPORTED_MODULE_10_classnames___default()(props.prefixCls, props.className, props.prefixCls + '-' + props.mode);
+ var domProps = {
+ className: className,
+ // role could be 'select' and by default set to menu
+ role: props.role || 'menu'
+ };
+ if (props.id) {
+ domProps.id = props.id;
+ }
+ if (props.focusable) {
+ domProps.tabIndex = '0';
+ domProps.onKeyDown = this.onKeyDown;
+ }
+ var prefixCls = props.prefixCls,
+ eventKey = props.eventKey,
+ visible = props.visible,
+ level = props.level,
+ mode = props.mode,
+ overflowedIndicator = props.overflowedIndicator,
+ theme = props.theme;
+
+ __WEBPACK_IMPORTED_MODULE_11__util__["f" /* menuAllProps */].forEach(function (key) {
+ return delete props[key];
+ });
+
+ // Otherwise, the propagated click event will trigger another onClick
+ delete props.onClick;
+
+ return (
+ // ESLint is not smart enough to know that the type of `children` was checked.
+ /* eslint-disable */
+ __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_12__DOMWrap__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({}, props, {
+ prefixCls: prefixCls,
+ mode: mode,
+ tag: 'ul',
+ level: level,
+ theme: theme,
+ hiddenClassName: prefixCls + '-hidden',
+ visible: visible,
+ overflowedIndicator: overflowedIndicator
+ }, domProps),
+ __WEBPACK_IMPORTED_MODULE_5_react___default.a.Children.map(props.children, function (c, i) {
+ return _this2.renderMenuItem(c, i, eventKey || '0-menu-');
+ })
+ )
+ /*eslint-enable */
+
+ );
+ };
+
+ return SubPopupMenu;
+ }(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);
+ SubPopupMenu.propTypes = {
+ onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onOpenChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ openTransitionName: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ openAnimation: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object]),
+ openKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ visible: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,
+ parentMenu: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ eventKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ store: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.shape({
+ getState: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ setState: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func
+ }),
+
+ // adding in refactor
+ focusable: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ defaultActiveFirst: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ activeKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ defaultSelectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ defaultOpenKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ level: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,
+ mode: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
+ triggerSubMenuAction: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['click', 'hover']),
+ inlineIndent: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string]),
+ manualRef: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),
+ expandIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])
+ };
+ SubPopupMenu.defaultProps = {
+ prefixCls: 'rc-menu',
+ className: '',
+ mode: 'vertical',
+ level: 1,
+ inlineIndent: 24,
+ visible: true,
+ focusable: true,
+ style: {},
+ manualRef: __WEBPACK_IMPORTED_MODULE_11__util__["g" /* noop */]
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.onKeyDown = function (e, callback) {
+ var keyCode = e.keyCode;
+ var handled = void 0;
+ _this3.getFlatInstanceArray().forEach(function (obj) {
+ if (obj && obj.props.active && obj.onKeyDown) {
+ handled = obj.onKeyDown(e);
+ }
+ });
+ if (handled) {
+ return 1;
+ }
+ var activeItem = null;
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].UP || keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].DOWN) {
+ activeItem = _this3.step(keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].UP ? -1 : 1);
+ }
+ if (activeItem) {
+ e.preventDefault();
+ updateActiveKey(_this3.props.store, getEventKey(_this3.props), activeItem.props.eventKey);
+
+ if (typeof callback === 'function') {
+ callback(activeItem);
+ }
+
+ return 1;
+ }
+ };
+
+ this.onItemHover = function (e) {
+ var key = e.key,
+ hover = e.hover;
+
+ updateActiveKey(_this3.props.store, getEventKey(_this3.props), hover ? key : null);
+ };
+
+ this.onDeselect = function (selectInfo) {
+ _this3.props.onDeselect(selectInfo);
+ };
+
+ this.onSelect = function (selectInfo) {
+ _this3.props.onSelect(selectInfo);
+ };
+
+ this.onClick = function (e) {
+ _this3.props.onClick(e);
+ };
+
+ this.onOpenChange = function (e) {
+ _this3.props.onOpenChange(e);
+ };
+
+ this.onDestroy = function (key) {
+ /* istanbul ignore next */
+ _this3.props.onDestroy(key);
+ };
+
+ this.getFlatInstanceArray = function () {
+ return _this3.instanceArray;
+ };
+
+ this.getOpenTransitionName = function () {
+ return _this3.props.openTransitionName;
+ };
+
+ this.step = function (direction) {
+ var children = _this3.getFlatInstanceArray();
+ var activeKey = _this3.props.store.getState().activeKey[getEventKey(_this3.props)];
+ var len = children.length;
+ if (!len) {
+ return null;
+ }
+ if (direction < 0) {
+ children = children.concat().reverse();
+ }
+ // find current activeIndex
+ var activeIndex = -1;
+ children.every(function (c, ci) {
+ if (c && c.props.eventKey === activeKey) {
+ activeIndex = ci;
+ return false;
+ }
+ return true;
+ });
+ if (!_this3.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {
+ return undefined;
+ }
+ var start = (activeIndex + 1) % len;
+ var i = start;
+
+ do {
+ var child = children[i];
+ if (!child || child.props.disabled) {
+ i = (i + 1) % len;
+ } else {
+ return child;
+ }
+ } while (i !== start);
+
+ return null;
+ };
+
+ this.renderCommonMenuItem = function (child, i, extraProps) {
+ var state = _this3.props.store.getState();
+ var props = _this3.props;
+ var key = Object(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getKeyFromChildrenIndex */])(child, props.eventKey, i);
+ var childProps = child.props;
+ var isActive = key === state.activeKey;
+ var newChildProps = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({
+ mode: childProps.mode || props.mode,
+ level: props.level,
+ inlineIndent: props.inlineIndent,
+ renderMenuItem: _this3.renderMenuItem,
+ rootPrefixCls: props.prefixCls,
+ index: i,
+ parentMenu: props.parentMenu,
+ // customized ref function, need to be invoked manually in child's componentDidMount
+ manualRef: childProps.disabled ? undefined : Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_createChainedFunction__["a" /* default */])(child.ref, saveRef.bind(_this3)),
+ eventKey: key,
+ active: !childProps.disabled && isActive,
+ multiple: props.multiple,
+ onClick: function onClick(e) {
+ (childProps.onClick || __WEBPACK_IMPORTED_MODULE_11__util__["g" /* noop */])(e);
+ _this3.onClick(e);
+ },
+ onItemHover: _this3.onItemHover,
+ openTransitionName: _this3.getOpenTransitionName(),
+ openAnimation: props.openAnimation,
+ subMenuOpenDelay: props.subMenuOpenDelay,
+ subMenuCloseDelay: props.subMenuCloseDelay,
+ forceSubMenuRender: props.forceSubMenuRender,
+ onOpenChange: _this3.onOpenChange,
+ onDeselect: _this3.onDeselect,
+ onSelect: _this3.onSelect,
+ builtinPlacements: props.builtinPlacements,
+ itemIcon: childProps.itemIcon || _this3.props.itemIcon,
+ expandIcon: childProps.expandIcon || _this3.props.expandIcon
+ }, extraProps);
+ if (props.mode === 'inline') {
+ newChildProps.triggerSubMenuAction = 'click';
+ }
+ return __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(child, newChildProps);
+ };
+
+ this.renderMenuItem = function (c, i, subMenuKey) {
+ /* istanbul ignore if */
+ if (!c) {
+ return null;
+ }
+ var state = _this3.props.store.getState();
+ var extraProps = {
+ openKeys: state.openKeys,
+ selectedKeys: state.selectedKeys,
+ triggerSubMenuAction: _this3.props.triggerSubMenuAction,
+ subMenuKey: subMenuKey
+ };
+ return _this3.renderCommonMenuItem(c, i, extraProps);
+ };
+ };
+
+ var connected = Object(__WEBPACK_IMPORTED_MODULE_7_mini_store__["connect"])()(SubPopupMenu);
+
+ /* harmony default export */ __webpack_exports__["a"] = (connected);
+
+ /***/ }),
+ /* 256 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = createChainedFunction;
+ /**
+ * Safe chained function
+ *
+ * Will only create a new function if needed,
+ * otherwise will pass back existing functions or null.
+ *
+ * @returns {function|null}
+ */
+ function createChainedFunction() {
+ var args = [].slice.call(arguments, 0);
+
+ if (args.length === 1) {
+ return args[0];
+ }
+
+ return function chainedFunction() {
+ for (var i = 0; i < args.length; i++) {
+ if (args[i] && args[i].apply) {
+ args[i].apply(this, arguments);
+ }
+ }
+ };
+ }
+
+ /***/ }),
+ /* 257 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* unused harmony export SubMenu */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_dom__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rc_trigger__ = __webpack_require__(73);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__ = __webpack_require__(43);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_mini_store__ = __webpack_require__(21);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_mini_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_mini_store__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__SubPopupMenu__ = __webpack_require__(255);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__placements__ = __webpack_require__(806);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_rc_animate__ = __webpack_require__(96);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__util__ = __webpack_require__(58);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var guid = 0;
+
+ var popupPlacementMap = {
+ horizontal: 'bottomLeft',
+ vertical: 'rightTop',
+ 'vertical-left': 'rightTop',
+ 'vertical-right': 'leftTop'
+ };
+
+ var updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {
+ var _extends2;
+
+ var menuId = Object(__WEBPACK_IMPORTED_MODULE_14__util__["b" /* getMenuIdFromSubMenuEventKey */])(eventKey);
+ var state = store.getState();
+ store.setState({
+ defaultActiveFirst: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, state.defaultActiveFirst, (_extends2 = {}, _extends2[menuId] = defaultActiveFirst, _extends2))
+ });
+ };
+
+ var SubMenu = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(SubMenu, _React$Component);
+
+ function SubMenu(props) {
+ __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, SubMenu);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var store = props.store;
+ var eventKey = props.eventKey;
+ var defaultActiveFirst = store.getState().defaultActiveFirst;
+
+ _this.isRootMenu = false;
+
+ var value = false;
+
+ if (defaultActiveFirst) {
+ value = defaultActiveFirst[eventKey];
+ }
+
+ updateDefaultActiveFirst(store, eventKey, value);
+ return _this;
+ }
+
+ SubMenu.prototype.componentDidMount = function componentDidMount() {
+ this.componentDidUpdate();
+ };
+
+ SubMenu.prototype.componentDidUpdate = function componentDidUpdate() {
+ var _this2 = this;
+
+ var _props = this.props,
+ mode = _props.mode,
+ parentMenu = _props.parentMenu,
+ manualRef = _props.manualRef;
+
+ // invoke customized ref to expose component to mixin
+
+ if (manualRef) {
+ manualRef(this);
+ }
+
+ if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.props.isOpen) {
+ return;
+ }
+
+ this.minWidthTimeout = setTimeout(function () {
+ return _this2.adjustWidth();
+ }, 0);
+ };
+
+ SubMenu.prototype.componentWillUnmount = function componentWillUnmount() {
+ var _props2 = this.props,
+ onDestroy = _props2.onDestroy,
+ eventKey = _props2.eventKey;
+
+ if (onDestroy) {
+ onDestroy(eventKey);
+ }
+
+ /* istanbul ignore if */
+ if (this.minWidthTimeout) {
+ clearTimeout(this.minWidthTimeout);
+ }
+
+ /* istanbul ignore if */
+ if (this.mouseenterTimeout) {
+ clearTimeout(this.mouseenterTimeout);
+ }
+ };
+
+ SubMenu.prototype.renderChildren = function renderChildren(children) {
+ var props = this.props;
+ var baseProps = {
+ mode: props.mode === 'horizontal' ? 'vertical' : props.mode,
+ visible: this.props.isOpen,
+ level: props.level + 1,
+ inlineIndent: props.inlineIndent,
+ focusable: false,
+ onClick: this.onSubMenuClick,
+ onSelect: this.onSelect,
+ onDeselect: this.onDeselect,
+ onDestroy: this.onDestroy,
+ selectedKeys: props.selectedKeys,
+ eventKey: props.eventKey + '-menu-',
+ openKeys: props.openKeys,
+ openTransitionName: props.openTransitionName,
+ openAnimation: props.openAnimation,
+ onOpenChange: this.onOpenChange,
+ subMenuOpenDelay: props.subMenuOpenDelay,
+ parentMenu: this,
+ subMenuCloseDelay: props.subMenuCloseDelay,
+ forceSubMenuRender: props.forceSubMenuRender,
+ triggerSubMenuAction: props.triggerSubMenuAction,
+ builtinPlacements: props.builtinPlacements,
+ defaultActiveFirst: props.store.getState().defaultActiveFirst[Object(__WEBPACK_IMPORTED_MODULE_14__util__["b" /* getMenuIdFromSubMenuEventKey */])(props.eventKey)],
+ multiple: props.multiple,
+ prefixCls: props.rootPrefixCls,
+ id: this._menuId,
+ manualRef: this.saveMenuInstance,
+ itemIcon: props.itemIcon,
+ expandIcon: props.expandIcon
+ };
+
+ var haveRendered = this.haveRendered;
+ this.haveRendered = true;
+
+ this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;
+ // never rendered not planning to, don't render
+ if (!this.haveOpened) {
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div', null);
+ }
+
+ // don't show transition on first rendering (no animation for opened menu)
+ // show appear transition if it's not visible (not sure why)
+ // show appear transition if it's not inline mode
+ var transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';
+
+ baseProps.className = ' ' + baseProps.prefixCls + '-sub';
+ var animProps = {};
+
+ if (baseProps.openTransitionName) {
+ animProps.transitionName = baseProps.openTransitionName;
+ } else if (typeof baseProps.openAnimation === 'object') {
+ animProps.animation = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, baseProps.openAnimation);
+ if (!transitionAppear) {
+ delete animProps.animation.appear;
+ }
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_13_rc_animate__["default"],
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, animProps, {
+ showProp: 'visible',
+ component: '',
+ transitionAppear: transitionAppear
+ }),
+ __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_11__SubPopupMenu__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, baseProps, { id: this._menuId }),
+ children
+ )
+ );
+ };
+
+ SubMenu.prototype.render = function render() {
+ var _classNames;
+
+ var props = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.props);
+ var isOpen = props.isOpen;
+ var prefixCls = this.getPrefixCls();
+ var isInlineMode = props.mode === 'inline';
+ var className = __WEBPACK_IMPORTED_MODULE_9_classnames___default()(prefixCls, prefixCls + '-' + props.mode, (_classNames = {}, _classNames[props.className] = !!props.className, _classNames[this.getOpenClassName()] = isOpen, _classNames[this.getActiveClassName()] = props.active || isOpen && !isInlineMode, _classNames[this.getDisabledClassName()] = props.disabled, _classNames[this.getSelectedClassName()] = this.isChildrenSelected(), _classNames));
+
+ if (!this._menuId) {
+ if (props.eventKey) {
+ this._menuId = props.eventKey + '$Menu';
+ } else {
+ this._menuId = '$__$' + ++guid + '$Menu';
+ }
+ }
+
+ var mouseEvents = {};
+ var titleClickEvents = {};
+ var titleMouseEvents = {};
+ if (!props.disabled) {
+ mouseEvents = {
+ onMouseLeave: this.onMouseLeave,
+ onMouseEnter: this.onMouseEnter
+ };
+
+ // only works in title, not outer li
+ titleClickEvents = {
+ onClick: this.onTitleClick
+ };
+ titleMouseEvents = {
+ onMouseEnter: this.onTitleMouseEnter,
+ onMouseLeave: this.onTitleMouseLeave
+ };
+ }
+
+ var style = {};
+ if (isInlineMode) {
+ style.paddingLeft = props.inlineIndent * props.level;
+ }
+
+ var ariaOwns = {};
+ // only set aria-owns when menu is open
+ // otherwise it would be an invalid aria-owns value
+ // since corresponding node cannot be found
+ if (this.props.isOpen) {
+ ariaOwns = {
+ 'aria-owns': this._menuId
+ };
+ }
+
+ // expand custom icon should NOT be displayed in menu with horizontal mode.
+ var icon = null;
+ if (props.mode !== 'horizontal') {
+ icon = this.props.expandIcon; // ReactNode
+ if (typeof this.props.expandIcon === 'function') {
+ icon = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(this.props.expandIcon, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.props));
+ }
+ }
+
+ var title = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ 'div',
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({
+ ref: this.saveSubMenuTitle,
+ style: style,
+ className: prefixCls + '-title'
+ }, titleMouseEvents, titleClickEvents, {
+ 'aria-expanded': isOpen
+ }, ariaOwns, {
+ 'aria-haspopup': 'true',
+ title: typeof props.title === 'string' ? props.title : undefined
+ }),
+ props.title,
+ icon || __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('i', { className: prefixCls + '-arrow' })
+ );
+ var children = this.renderChildren(props.children);
+
+ var getPopupContainer = props.parentMenu.isRootMenu ? props.parentMenu.props.getPopupContainer : function (triggerNode) {
+ return triggerNode.parentNode;
+ };
+ var popupPlacement = popupPlacementMap[props.mode];
+ var popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};
+ var popupClassName = props.mode === 'inline' ? '' : props.popupClassName;
+ var disabled = props.disabled,
+ triggerSubMenuAction = props.triggerSubMenuAction,
+ subMenuOpenDelay = props.subMenuOpenDelay,
+ forceSubMenuRender = props.forceSubMenuRender,
+ subMenuCloseDelay = props.subMenuCloseDelay,
+ builtinPlacements = props.builtinPlacements;
+
+ __WEBPACK_IMPORTED_MODULE_14__util__["f" /* menuAllProps */].forEach(function (key) {
+ return delete props[key];
+ });
+ // Set onClick to null, to ignore propagated onClick event
+ delete props.onClick;
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ 'li',
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, props, mouseEvents, {
+ className: className,
+ role: 'menuitem'
+ }),
+ isInlineMode && title,
+ isInlineMode && children,
+ !isInlineMode && __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_7_rc_trigger__["default"],
+ {
+ prefixCls: prefixCls,
+ popupClassName: prefixCls + '-popup ' + popupClassName,
+ getPopupContainer: getPopupContainer,
+ builtinPlacements: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, __WEBPACK_IMPORTED_MODULE_12__placements__["a" /* default */], builtinPlacements),
+ popupPlacement: popupPlacement,
+ popupVisible: isOpen,
+ popupAlign: popupAlign,
+ popup: children,
+ action: disabled ? [] : [triggerSubMenuAction],
+ mouseEnterDelay: subMenuOpenDelay,
+ mouseLeaveDelay: subMenuCloseDelay,
+ onPopupVisibleChange: this.onPopupVisibleChange,
+ forceRender: forceSubMenuRender
+ },
+ title
+ )
+ );
+ };
+
+ return SubMenu;
+ }(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);
+
+ SubMenu.propTypes = {
+ parentMenu: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ title: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node,
+ children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,
+ selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,
+ openKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,
+ onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onOpenChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ rootPrefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ eventKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ active: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool, // TODO: remove
+ onItemHover: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ triggerSubMenuAction: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onMouseEnter: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onMouseLeave: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onTitleMouseEnter: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onTitleMouseLeave: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onTitleClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ popupOffset: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,
+ isOpen: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ store: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ mode: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
+ manualRef: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),
+ expandIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])
+ };
+ SubMenu.defaultProps = {
+ onMouseEnter: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onMouseLeave: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onTitleMouseEnter: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onTitleMouseLeave: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onTitleClick: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ manualRef: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ mode: 'vertical',
+ title: ''
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.onDestroy = function (key) {
+ _this3.props.onDestroy(key);
+ };
+
+ this.onKeyDown = function (e) {
+ var keyCode = e.keyCode;
+ var menu = _this3.menuInstance;
+ var _props3 = _this3.props,
+ isOpen = _props3.isOpen,
+ store = _props3.store;
+
+
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].ENTER) {
+ _this3.onTitleClick(e);
+ updateDefaultActiveFirst(store, _this3.props.eventKey, true);
+ return true;
+ }
+
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].RIGHT) {
+ if (isOpen) {
+ menu.onKeyDown(e);
+ } else {
+ _this3.triggerOpenChange(true);
+ // need to update current menu's defaultActiveFirst value
+ updateDefaultActiveFirst(store, _this3.props.eventKey, true);
+ }
+ return true;
+ }
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].LEFT) {
+ var handled = void 0;
+ if (isOpen) {
+ handled = menu.onKeyDown(e);
+ } else {
+ return undefined;
+ }
+ if (!handled) {
+ _this3.triggerOpenChange(false);
+ handled = true;
+ }
+ return handled;
+ }
+
+ if (isOpen && (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].UP || keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].DOWN)) {
+ return menu.onKeyDown(e);
+ }
+ };
+
+ this.onOpenChange = function (e) {
+ _this3.props.onOpenChange(e);
+ };
+
+ this.onPopupVisibleChange = function (visible) {
+ _this3.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');
+ };
+
+ this.onMouseEnter = function (e) {
+ var _props4 = _this3.props,
+ key = _props4.eventKey,
+ onMouseEnter = _props4.onMouseEnter,
+ store = _props4.store;
+
+ updateDefaultActiveFirst(store, _this3.props.eventKey, false);
+ onMouseEnter({
+ key: key,
+ domEvent: e
+ });
+ };
+
+ this.onMouseLeave = function (e) {
+ var _props5 = _this3.props,
+ parentMenu = _props5.parentMenu,
+ eventKey = _props5.eventKey,
+ onMouseLeave = _props5.onMouseLeave;
+
+ parentMenu.subMenuInstance = _this3;
+ onMouseLeave({
+ key: eventKey,
+ domEvent: e
+ });
+ };
+
+ this.onTitleMouseEnter = function (domEvent) {
+ var _props6 = _this3.props,
+ key = _props6.eventKey,
+ onItemHover = _props6.onItemHover,
+ onTitleMouseEnter = _props6.onTitleMouseEnter;
+
+ onItemHover({
+ key: key,
+ hover: true
+ });
+ onTitleMouseEnter({
+ key: key,
+ domEvent: domEvent
+ });
+ };
+
+ this.onTitleMouseLeave = function (e) {
+ var _props7 = _this3.props,
+ parentMenu = _props7.parentMenu,
+ eventKey = _props7.eventKey,
+ onItemHover = _props7.onItemHover,
+ onTitleMouseLeave = _props7.onTitleMouseLeave;
+
+ parentMenu.subMenuInstance = _this3;
+ onItemHover({
+ key: eventKey,
+ hover: false
+ });
+ onTitleMouseLeave({
+ key: eventKey,
+ domEvent: e
+ });
+ };
+
+ this.onTitleClick = function (e) {
+ var props = _this3.props;
+
+ props.onTitleClick({
+ key: props.eventKey,
+ domEvent: e
+ });
+ if (props.triggerSubMenuAction === 'hover') {
+ return;
+ }
+ _this3.triggerOpenChange(!props.isOpen, 'click');
+ updateDefaultActiveFirst(props.store, _this3.props.eventKey, false);
+ };
+
+ this.onSubMenuClick = function (info) {
+ // in the case of overflowed submenu
+ // onClick is not copied over
+ if (typeof _this3.props.onClick === 'function') {
+ _this3.props.onClick(_this3.addKeyPath(info));
+ }
+ };
+
+ this.onSelect = function (info) {
+ _this3.props.onSelect(info);
+ };
+
+ this.onDeselect = function (info) {
+ _this3.props.onDeselect(info);
+ };
+
+ this.getPrefixCls = function () {
+ return _this3.props.rootPrefixCls + '-submenu';
+ };
+
+ this.getActiveClassName = function () {
+ return _this3.getPrefixCls() + '-active';
+ };
+
+ this.getDisabledClassName = function () {
+ return _this3.getPrefixCls() + '-disabled';
+ };
+
+ this.getSelectedClassName = function () {
+ return _this3.getPrefixCls() + '-selected';
+ };
+
+ this.getOpenClassName = function () {
+ return _this3.props.rootPrefixCls + '-submenu-open';
+ };
+
+ this.saveMenuInstance = function (c) {
+ // children menu instance
+ _this3.menuInstance = c;
+ };
+
+ this.addKeyPath = function (info) {
+ return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, info, {
+ keyPath: (info.keyPath || []).concat(_this3.props.eventKey)
+ });
+ };
+
+ this.triggerOpenChange = function (open, type) {
+ var key = _this3.props.eventKey;
+ var openChange = function openChange() {
+ _this3.onOpenChange({
+ key: key,
+ item: _this3,
+ trigger: type,
+ open: open
+ });
+ };
+ if (type === 'mouseenter') {
+ // make sure mouseenter happen after other menu item's mouseleave
+ _this3.mouseenterTimeout = setTimeout(function () {
+ openChange();
+ }, 0);
+ } else {
+ openChange();
+ }
+ };
+
+ this.isChildrenSelected = function () {
+ var ret = { find: false };
+ Object(__WEBPACK_IMPORTED_MODULE_14__util__["e" /* loopMenuItemRecursively */])(_this3.props.children, _this3.props.selectedKeys, ret);
+ return ret.find;
+ };
+
+ this.isOpen = function () {
+ return _this3.props.openKeys.indexOf(_this3.props.eventKey) !== -1;
+ };
+
+ this.adjustWidth = function () {
+ /* istanbul ignore if */
+ if (!_this3.subMenuTitle || !_this3.menuInstance) {
+ return;
+ }
+ var popupMenu = __WEBPACK_IMPORTED_MODULE_5_react_dom___default.a.findDOMNode(_this3.menuInstance);
+ if (popupMenu.offsetWidth >= _this3.subMenuTitle.offsetWidth) {
+ return;
+ }
+
+ /* istanbul ignore next */
+ popupMenu.style.minWidth = _this3.subMenuTitle.offsetWidth + 'px';
+ };
+
+ this.saveSubMenuTitle = function (subMenuTitle) {
+ _this3.subMenuTitle = subMenuTitle;
+ };
+ };
+
+ var connected = Object(__WEBPACK_IMPORTED_MODULE_10_mini_store__["connect"])(function (_ref, _ref2) {
+ var openKeys = _ref.openKeys,
+ activeKey = _ref.activeKey,
+ selectedKeys = _ref.selectedKeys;
+ var eventKey = _ref2.eventKey,
+ subMenuKey = _ref2.subMenuKey;
+ return {
+ isOpen: openKeys.indexOf(eventKey) > -1,
+ active: activeKey[subMenuKey] === eventKey,
+ selectedKeys: selectedKeys
+ };
+ })(SubMenu);
+
+ connected.isSubMenu = true;
+
+ /* harmony default export */ __webpack_exports__["a"] = (connected);
+
+ /***/ }),
+ /* 258 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ContainerRender; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+
+
+
+
+ var ContainerRender = /*#__PURE__*/function (_React$Component) {
+ _inherits(ContainerRender, _React$Component);
+
+ var _super = _createSuper(ContainerRender);
+
+ function ContainerRender() {
+ var _this;
+
+ _classCallCheck(this, ContainerRender);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _super.call.apply(_super, [this].concat(args));
+
+ _this.removeContainer = function () {
+ if (_this.container) {
+ __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(_this.container);
+
+ _this.container.parentNode.removeChild(_this.container);
+
+ _this.container = null;
+ }
+ };
+
+ _this.renderComponent = function (props, ready) {
+ var _this$props = _this.props,
+ visible = _this$props.visible,
+ getComponent = _this$props.getComponent,
+ forceRender = _this$props.forceRender,
+ getContainer = _this$props.getContainer,
+ parent = _this$props.parent;
+
+ if (visible || parent._component || forceRender) {
+ if (!_this.container) {
+ _this.container = getContainer();
+ }
+
+ __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {
+ if (ready) {
+ ready.call(this);
+ }
+ });
+ }
+ };
+
+ return _this;
+ }
+
+ _createClass(ContainerRender, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ if (this.props.autoMount) {
+ this.renderComponent();
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate() {
+ if (this.props.autoMount) {
+ this.renderComponent();
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ if (this.props.autoDestroy) {
+ this.removeContainer();
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return this.props.children({
+ renderComponent: this.renderComponent,
+ removeContainer: this.removeContainer
+ });
+ }
+ }]);
+
+ return ContainerRender;
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
+
+ ContainerRender.propTypes = {
+ autoMount: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,
+ autoDestroy: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,
+ visible: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,
+ forceRender: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,
+ parent: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.any,
+ getComponent: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func.isRequired,
+ getContainer: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func.isRequired,
+ children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func.isRequired
+ };
+ ContainerRender.defaultProps = {
+ autoMount: true,
+ autoDestroy: true,
+ forceRender: false
+ };
+
+
+ /***/ }),
+ /* 259 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Portal; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+
+
+
+
+ var Portal = /*#__PURE__*/function (_React$Component) {
+ _inherits(Portal, _React$Component);
+
+ var _super = _createSuper(Portal);
+
+ function Portal() {
+ _classCallCheck(this, Portal);
+
+ return _super.apply(this, arguments);
+ }
+
+ _createClass(Portal, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.createContainer();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var didUpdate = this.props.didUpdate;
+
+ if (didUpdate) {
+ didUpdate(prevProps);
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.removeContainer();
+ }
+ }, {
+ key: "createContainer",
+ value: function createContainer() {
+ this._container = this.props.getContainer();
+ this.forceUpdate();
+ }
+ }, {
+ key: "removeContainer",
+ value: function removeContainer() {
+ if (this._container) {
+ this._container.parentNode.removeChild(this._container);
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ if (this._container) {
+ return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.createPortal(this.props.children, this._container);
+ }
+
+ return null;
+ }
+ }]);
+
+ return Portal;
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
+
+ Portal.propTypes = {
+ getContainer: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func.isRequired,
+ children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node.isRequired,
+ didUpdate: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func
+ };
+
+
+ /***/ }),
+ /* 260 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = getAlignFromPlacement;
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getAlignPopupClassName;
+ /* harmony export (immutable) */ __webpack_exports__["c"] = saveRef;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+
+ function isPointsEq(a1, a2, isAlignPoint) {
+ if (isAlignPoint) {
+ return a1[0] === a2[0];
+ }
+ return a1[0] === a2[0] && a1[1] === a2[1];
+ }
+
+ function getAlignFromPlacement(builtinPlacements, placementStr, align) {
+ var baseAlign = builtinPlacements[placementStr] || {};
+ return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, baseAlign, align);
+ }
+
+ function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {
+ var points = align.points;
+ for (var placement in builtinPlacements) {
+ if (builtinPlacements.hasOwnProperty(placement)) {
+ if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {
+ return prefixCls + '-placement-' + placement;
+ }
+ }
+ }
+ return '';
+ }
+
+ function saveRef(name, component) {
+ this[name] = component;
+ }
+
+ /***/ }),
+ /* 261 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Align__ = __webpack_require__(799);
+ // export this package's api
+
+
+ /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0__Align__["a" /* default */]);
+
+ /***/ }),
+ /* 262 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ /* harmony default export */ __webpack_exports__["a"] = (util);
+
+ /***/ }),
+ /* 263 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(23);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);
+
+
+
+
+
+
+
+ var LazyRenderBox = function (_Component) {
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(LazyRenderBox, _Component);
+
+ function LazyRenderBox() {
+ __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, LazyRenderBox);
+
+ return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _Component.apply(this, arguments));
+ }
+
+ LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return nextProps.hiddenClassName || nextProps.visible;
+ };
+
+ LazyRenderBox.prototype.render = function render() {
+ var _props = this.props,
+ hiddenClassName = _props.hiddenClassName,
+ visible = _props.visible,
+ props = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default()(_props, ['hiddenClassName', 'visible']);
+
+ if (hiddenClassName || __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.count(props.children) > 1) {
+ if (!visible && hiddenClassName) {
+ props.className += ' ' + hiddenClassName;
+ }
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div', props);
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.only(props.children);
+ };
+
+ return LazyRenderBox;
+ }(__WEBPACK_IMPORTED_MODULE_4_react__["Component"]);
+
+ LazyRenderBox.propTypes = {
+ children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ className: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ visible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ hiddenClassName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string
+ };
+
+
+ /* harmony default export */ __webpack_exports__["a"] = (LazyRenderBox);
+
+ /***/ }),
+ /* 264 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 265 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _domAlign = __webpack_require__(13);
+
+ var _domAlign2 = _interopRequireDefault(_domAlign);
+
+ var _addEventListener = __webpack_require__(264);
+
+ var _addEventListener2 = _interopRequireDefault(_addEventListener);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+
+ //import isWindow from './isWindow';
+
+ function isWindow(obj) {
+ /* eslint no-eq-null: 0 */
+ /* eslint eqeqeq: 0 */
+ return obj != null && obj == obj.window;
+ }
+
+ function buffer(fn, ms) {
+ var timer = void 0;
+
+ function clear() {
+ if (timer) {
+ clearTimeout(timer);
+ timer = null;
+ }
+ }
+
+ function bufferFn() {
+ clear();
+ timer = setTimeout(fn, ms);
+ }
+
+ bufferFn.clear = clear;
+
+ return bufferFn;
+ }
+
+ var propTypes = {
+ childrenProps: _propTypes2.default.object,
+ align: _propTypes2.default.object.isRequired,
+ target: _propTypes2.default.func,
+ onAlign: _propTypes2.default.func,
+ monitorBufferTime: _propTypes2.default.number,
+ monitorWindowResize: _propTypes2.default.bool,
+ disabled: _propTypes2.default.bool,
+ children: _propTypes2.default.any
+ };
+
+ var defaultProps = {
+ target: function target() {
+ return window;
+ },
+ onAlign: function onAlign() {},
+
+ monitorBufferTime: 50,
+ monitorWindowResize: false,
+ disabled: false
+ };
+
+ var Align = function (_React$Component) {
+ _inherits(Align, _React$Component);
+
+ function Align(props) {
+ _classCallCheck(this, Align);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ return _this;
+ }
+
+ Align.prototype.componentDidMount = function componentDidMount() {
+ var props = this.props;
+ // if parent ref not attached .... use document.getElementById
+ this.forceAlign();
+ if (!props.disabled && props.monitorWindowResize) {
+ this.startMonitorWindowResize();
+ }
+ };
+
+ Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
+ var reAlign = false;
+ var props = this.props;
+
+ if (!props.disabled) {
+ if (prevProps.disabled || prevProps.align !== props.align) {
+ reAlign = true;
+ } else {
+ var lastTarget = prevProps.target();
+ var currentTarget = props.target();
+ if (isWindow(lastTarget) && isWindow(currentTarget)) {
+ reAlign = false;
+ } else if (lastTarget !== currentTarget) {
+ reAlign = true;
+ }
+ }
+ }
+
+ if (reAlign) {
+ this.forceAlign();
+ }
+
+ if (props.monitorWindowResize && !props.disabled) {
+ this.startMonitorWindowResize();
+ } else {
+ this.stopMonitorWindowResize();
+ }
+ };
+
+ Align.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.stopMonitorWindowResize();
+ };
+
+ Align.prototype.render = function render() {
+ var _props = this.props,
+ childrenProps = _props.childrenProps,
+ children = _props.children;
+
+ var child = _react2.default.Children.only(children);
+ if (childrenProps) {
+ var newProps = {};
+ for (var prop in childrenProps) {
+ if (childrenProps.hasOwnProperty(prop)) {
+ newProps[prop] = this.props[childrenProps[prop]];
+ }
+ }
+ return _react2.default.cloneElement(child, newProps);
+ }
+ return child;
+ };
+
+ return Align;
+ }(_react2.default.Component);
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.startMonitorWindowResize = function () {
+ if (!_this2.resizeHandler) {
+ _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
+ _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
+ }
+ };
+
+ this.stopMonitorWindowResize = function () {
+ if (_this2.resizeHandler) {
+ _this2.bufferMonitor.clear();
+ _this2.resizeHandler.remove();
+ _this2.resizeHandler = null;
+ }
+ };
+
+ this.forceAlign = function () {
+ var props = _this2.props;
+ if (!props.disabled) {
+ var source = _reactDom2.default.findDOMNode(_this2);
+ props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
+ }
+ };
+ };
+
+ ;
+
+ Align.defaultProps = defaultProps;
+ Align.propTypes = propTypes;
+
+ exports.default = Align;
+
+ /***/ }),
+ /* 266 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ exports["default"] = util;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 267 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ * This source code is quoted from rc-trigger.
+ * homepage: https://github.com/react-component/trigger
+ */
+
+
+ var propTypes = {
+ children: _propTypes2["default"].any,
+ className: _propTypes2["default"].string,
+ visible: _propTypes2["default"].bool,
+ hiddenClassName: _propTypes2["default"].string
+ };
+
+ var LazyRenderBox = function (_Component) {
+ _inherits(LazyRenderBox, _Component);
+
+ function LazyRenderBox() {
+ _classCallCheck(this, LazyRenderBox);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return nextProps.hiddenClassName || nextProps.visible;
+ };
+
+ LazyRenderBox.prototype.render = function render() {
+ var _props = this.props,
+ hiddenClassName = _props.hiddenClassName,
+ visible = _props.visible,
+ props = _objectWithoutProperties(_props, ['hiddenClassName', 'visible']);
+
+ if (hiddenClassName || _react2["default"].Children.count(props.children) > 1) {
+ if (!visible && hiddenClassName) {
+ props.className += ' ' + hiddenClassName;
+ }
+ return _react2["default"].createElement('div', props);
+ }
+
+ return _react2["default"].Children.only(props.children);
+ };
+
+ return LazyRenderBox;
+ }(_react.Component);
+
+ ;
+ LazyRenderBox.propTypes = propTypes;
+
+ exports["default"] = LazyRenderBox;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 268 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.SelectPropTypes = undefined;
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function valueType(props, propName, componentName) {
+ var basicType = _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]);
+
+ var labelInValueShape = _propTypes2["default"].shape({
+ key: basicType.isRequired,
+ label: _propTypes2["default"].node
+ });
+ if (props.labelInValue) {
+ var validate = _propTypes2["default"].oneOfType([_propTypes2["default"].arrayOf(labelInValueShape), labelInValueShape]);
+ var error = validate.apply(undefined, arguments);
+ if (error) {
+ return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`, ' + ('when you set `labelInValue` to `true`, `' + propName + '` should in ') + 'shape of `{ key: string | number, label?: ReactNode }`.');
+ }
+ } else if ((props.mode === 'multiple' || props.mode === 'tags' || props.multiple || props.tags) && props[propName] === '') {
+ return new Error('Invalid prop `' + propName + '` of type `string` supplied to `' + componentName + '`, ' + 'expected `array` when `multiple` or `tags` is `true`.');
+ } else {
+ var _validate = _propTypes2["default"].oneOfType([_propTypes2["default"].arrayOf(basicType), basicType]);
+ return _validate.apply(undefined, arguments);
+ }
+ } /**
+ * This source code is quoted from rc-select.
+ * homepage: https://github.com/react-component/select
+ */
+ var SelectPropTypes = exports.SelectPropTypes = {
+ id: _propTypes2["default"].string,
+ defaultActiveFirstOption: _propTypes2["default"].bool,
+ multiple: _propTypes2["default"].bool,
+ filterOption: _propTypes2["default"].any,
+ children: _propTypes2["default"].any,
+ showSearch: _propTypes2["default"].bool,
+ disabled: _propTypes2["default"].bool,
+ allowClear: _propTypes2["default"].bool,
+ showArrow: _propTypes2["default"].bool,
+ tags: _propTypes2["default"].bool,
+ prefixCls: _propTypes2["default"].string,
+ className: _propTypes2["default"].string,
+ transitionName: _propTypes2["default"].string,
+ optionLabelProp: _propTypes2["default"].string,
+ optionFilterProp: _propTypes2["default"].string,
+ animation: _propTypes2["default"].string,
+ choiceTransitionName: _propTypes2["default"].string,
+ open: _propTypes2["default"].bool,
+ defaultOpen: _propTypes2["default"].bool,
+ onChange: _propTypes2["default"].func,
+ onBlur: _propTypes2["default"].func,
+ onFocus: _propTypes2["default"].func,
+ onSelect: _propTypes2["default"].func,
+ onSearch: _propTypes2["default"].func,
+ onPopupScroll: _propTypes2["default"].func,
+ onMouseEnter: _propTypes2["default"].func,
+ onMouseLeave: _propTypes2["default"].func,
+ onInputKeyDown: _propTypes2["default"].func,
+ placeholder: _propTypes2["default"].any,
+ onDeselect: _propTypes2["default"].func,
+ labelInValue: _propTypes2["default"].bool,
+ value: valueType,
+ defaultValue: valueType,
+ dropdownStyle: _propTypes2["default"].object,
+ maxTagTextLength: _propTypes2["default"].number,
+ maxTagCount: _propTypes2["default"].number,
+ maxTagPlaceholder: _propTypes2["default"].oneOfType([_propTypes2["default"].node, _propTypes2["default"].func]),
+ tokenSeparators: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ getInputElement: _propTypes2["default"].func,
+ showAction: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ clearIcon: _propTypes2["default"].node,
+ inputIcon: _propTypes2["default"].node,
+ removeIcon: _propTypes2["default"].node,
+ menuItemSelectedIcon: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].node])
+ };
+
+ /***/ }),
+ /* 269 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var OptGroup = function (_React$Component) {
+ _inherits(OptGroup, _React$Component);
+
+ function OptGroup() {
+ _classCallCheck(this, OptGroup);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ return OptGroup;
+ }(_react2["default"].Component);
+
+ OptGroup.isSelectOptGroup = true;
+ exports["default"] = OptGroup;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 270 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
+ * @license MIT */
+
+ ;(function(root, factory) {
+
+ if (true) {
+ !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
+ (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
+ __WEBPACK_AMD_DEFINE_FACTORY__),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else if (typeof exports === 'object') {
+ module.exports = factory();
+ } else {
+ root.NProgress = factory();
+ }
+
+ })(this, function() {
+ var NProgress = {};
+
+ NProgress.version = '0.2.0';
+
+ var Settings = NProgress.settings = {
+ minimum: 0.08,
+ easing: 'ease',
+ positionUsing: '',
+ speed: 200,
+ trickle: true,
+ trickleRate: 0.02,
+ trickleSpeed: 800,
+ showSpinner: true,
+ barSelector: '[role="bar"]',
+ spinnerSelector: '[role="spinner"]',
+ parent: 'body',
+ template: ''
+ };
+
+ /**
+ * Updates configuration.
+ *
+ * NProgress.configure({
+ * minimum: 0.1
+ * });
+ */
+ NProgress.configure = function(options) {
+ var key, value;
+ for (key in options) {
+ value = options[key];
+ if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;
+ }
+
+ return this;
+ };
+
+ /**
+ * Last number.
+ */
+
+ NProgress.status = null;
+
+ /**
+ * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.
+ *
+ * NProgress.set(0.4);
+ * NProgress.set(1.0);
+ */
+
+ NProgress.set = function(n) {
+ var started = NProgress.isStarted();
+
+ n = clamp(n, Settings.minimum, 1);
+ NProgress.status = (n === 1 ? null : n);
+
+ var progress = NProgress.render(!started),
+ bar = progress.querySelector(Settings.barSelector),
+ speed = Settings.speed,
+ ease = Settings.easing;
+
+ progress.offsetWidth; /* Repaint */
+
+ queue(function(next) {
+ // Set positionUsing if it hasn't already been set
+ if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();
+
+ // Add transition
+ css(bar, barPositionCSS(n, speed, ease));
+
+ if (n === 1) {
+ // Fade out
+ css(progress, {
+ transition: 'none',
+ opacity: 1
+ });
+ progress.offsetWidth; /* Repaint */
+
+ setTimeout(function() {
+ css(progress, {
+ transition: 'all ' + speed + 'ms linear',
+ opacity: 0
+ });
+ setTimeout(function() {
+ NProgress.remove();
+ next();
+ }, speed);
+ }, speed);
+ } else {
+ setTimeout(next, speed);
+ }
+ });
+
+ return this;
+ };
+
+ NProgress.isStarted = function() {
+ return typeof NProgress.status === 'number';
+ };
+
+ /**
+ * Shows the progress bar.
+ * This is the same as setting the status to 0%, except that it doesn't go backwards.
+ *
+ * NProgress.start();
+ *
+ */
+ NProgress.start = function() {
+ if (!NProgress.status) NProgress.set(0);
+
+ var work = function() {
+ setTimeout(function() {
+ if (!NProgress.status) return;
+ NProgress.trickle();
+ work();
+ }, Settings.trickleSpeed);
+ };
+
+ if (Settings.trickle) work();
+
+ return this;
+ };
+
+ /**
+ * Hides the progress bar.
+ * This is the *sort of* the same as setting the status to 100%, with the
+ * difference being `done()` makes some placebo effect of some realistic motion.
+ *
+ * NProgress.done();
+ *
+ * If `true` is passed, it will show the progress bar even if its hidden.
+ *
+ * NProgress.done(true);
+ */
+
+ NProgress.done = function(force) {
+ if (!force && !NProgress.status) return this;
+
+ return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
+ };
+
+ /**
+ * Increments by a random amount.
+ */
+
+ NProgress.inc = function(amount) {
+ var n = NProgress.status;
+
+ if (!n) {
+ return NProgress.start();
+ } else {
+ if (typeof amount !== 'number') {
+ amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);
+ }
+
+ n = clamp(n + amount, 0, 0.994);
+ return NProgress.set(n);
+ }
+ };
+
+ NProgress.trickle = function() {
+ return NProgress.inc(Math.random() * Settings.trickleRate);
+ };
+
+ /**
+ * Waits for all supplied jQuery promises and
+ * increases the progress as the promises resolve.
+ *
+ * @param $promise jQUery Promise
+ */
+ (function() {
+ var initial = 0, current = 0;
+
+ NProgress.promise = function($promise) {
+ if (!$promise || $promise.state() === "resolved") {
+ return this;
+ }
+
+ if (current === 0) {
+ NProgress.start();
+ }
+
+ initial++;
+ current++;
+
+ $promise.always(function() {
+ current--;
+ if (current === 0) {
+ initial = 0;
+ NProgress.done();
+ } else {
+ NProgress.set((initial - current) / initial);
+ }
+ });
+
+ return this;
+ };
+
+ })();
+
+ /**
+ * (Internal) renders the progress bar markup based on the `template`
+ * setting.
+ */
+
+ NProgress.render = function(fromStart) {
+ if (NProgress.isRendered()) return document.getElementById('nprogress');
+
+ addClass(document.documentElement, 'nprogress-busy');
+
+ var progress = document.createElement('div');
+ progress.id = 'nprogress';
+ progress.innerHTML = Settings.template;
+
+ var bar = progress.querySelector(Settings.barSelector),
+ perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),
+ parent = document.querySelector(Settings.parent),
+ spinner;
+
+ css(bar, {
+ transition: 'all 0 linear',
+ transform: 'translate3d(' + perc + '%,0,0)'
+ });
+
+ if (!Settings.showSpinner) {
+ spinner = progress.querySelector(Settings.spinnerSelector);
+ spinner && removeElement(spinner);
+ }
+
+ if (parent != document.body) {
+ addClass(parent, 'nprogress-custom-parent');
+ }
+
+ parent.appendChild(progress);
+ return progress;
+ };
+
+ /**
+ * Removes the element. Opposite of render().
+ */
+
+ NProgress.remove = function() {
+ removeClass(document.documentElement, 'nprogress-busy');
+ removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');
+ var progress = document.getElementById('nprogress');
+ progress && removeElement(progress);
+ };
+
+ /**
+ * Checks if the progress bar is rendered.
+ */
+
+ NProgress.isRendered = function() {
+ return !!document.getElementById('nprogress');
+ };
+
+ /**
+ * Determine which positioning CSS rule to use.
+ */
+
+ NProgress.getPositioningCSS = function() {
+ // Sniff on document.body.style
+ var bodyStyle = document.body.style;
+
+ // Sniff prefixes
+ var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :
+ ('MozTransform' in bodyStyle) ? 'Moz' :
+ ('msTransform' in bodyStyle) ? 'ms' :
+ ('OTransform' in bodyStyle) ? 'O' : '';
+
+ if (vendorPrefix + 'Perspective' in bodyStyle) {
+ // Modern browsers with 3D support, e.g. Webkit, IE10
+ return 'translate3d';
+ } else if (vendorPrefix + 'Transform' in bodyStyle) {
+ // Browsers without 3D support, e.g. IE9
+ return 'translate';
+ } else {
+ // Browsers without translate() support, e.g. IE7-8
+ return 'margin';
+ }
+ };
+
+ /**
+ * Helpers
+ */
+
+ function clamp(n, min, max) {
+ if (n < min) return min;
+ if (n > max) return max;
+ return n;
+ }
+
+ /**
+ * (Internal) converts a percentage (`0..1`) to a bar translateX
+ * percentage (`-100%..0%`).
+ */
+
+ function toBarPerc(n) {
+ return (-1 + n) * 100;
+ }
+
+
+ /**
+ * (Internal) returns the correct CSS for changing the bar's
+ * position given an n percentage, and speed and ease from Settings
+ */
+
+ function barPositionCSS(n, speed, ease) {
+ var barCSS;
+
+ if (Settings.positionUsing === 'translate3d') {
+ barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };
+ } else if (Settings.positionUsing === 'translate') {
+ barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };
+ } else {
+ barCSS = { 'margin-left': toBarPerc(n)+'%' };
+ }
+
+ barCSS.transition = 'all '+speed+'ms '+ease;
+
+ return barCSS;
+ }
+
+ /**
+ * (Internal) Queues a function to be executed.
+ */
+
+ var queue = (function() {
+ var pending = [];
+
+ function next() {
+ var fn = pending.shift();
+ if (fn) {
+ fn(next);
+ }
+ }
+
+ return function(fn) {
+ pending.push(fn);
+ if (pending.length == 1) next();
+ };
+ })();
+
+ /**
+ * (Internal) Applies css properties to an element, similar to the jQuery
+ * css method.
+ *
+ * While this helper does assist with vendor prefixed property names, it
+ * does not perform any manipulation of values prior to setting styles.
+ */
+
+ var css = (function() {
+ var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],
+ cssProps = {};
+
+ function camelCase(string) {
+ return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) {
+ return letter.toUpperCase();
+ });
+ }
+
+ function getVendorProp(name) {
+ var style = document.body.style;
+ if (name in style) return name;
+
+ var i = cssPrefixes.length,
+ capName = name.charAt(0).toUpperCase() + name.slice(1),
+ vendorName;
+ while (i--) {
+ vendorName = cssPrefixes[i] + capName;
+ if (vendorName in style) return vendorName;
+ }
+
+ return name;
+ }
+
+ function getStyleProp(name) {
+ name = camelCase(name);
+ return cssProps[name] || (cssProps[name] = getVendorProp(name));
+ }
+
+ function applyCss(element, prop, value) {
+ prop = getStyleProp(prop);
+ element.style[prop] = value;
+ }
+
+ return function(element, properties) {
+ var args = arguments,
+ prop,
+ value;
+
+ if (args.length == 2) {
+ for (prop in properties) {
+ value = properties[prop];
+ if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);
+ }
+ } else {
+ applyCss(element, args[1], args[2]);
+ }
+ }
+ })();
+
+ /**
+ * (Internal) Determines if an element or space separated list of class names contains a class name.
+ */
+
+ function hasClass(element, name) {
+ var list = typeof element == 'string' ? element : classList(element);
+ return list.indexOf(' ' + name + ' ') >= 0;
+ }
+
+ /**
+ * (Internal) Adds a class to an element.
+ */
+
+ function addClass(element, name) {
+ var oldList = classList(element),
+ newList = oldList + name;
+
+ if (hasClass(oldList, name)) return;
+
+ // Trim the opening space.
+ element.className = newList.substring(1);
+ }
+
+ /**
+ * (Internal) Removes a class from an element.
+ */
+
+ function removeClass(element, name) {
+ var oldList = classList(element),
+ newList;
+
+ if (!hasClass(element, name)) return;
+
+ // Replace the class name.
+ newList = oldList.replace(' ' + name + ' ', ' ');
+
+ // Trim the opening and closing spaces.
+ element.className = newList.substring(1, newList.length - 1);
+ }
+
+ /**
+ * (Internal) Gets a space separated list of the class names on the element.
+ * The list is wrapped with a single space on each end to facilitate finding
+ * matches within the list.
+ */
+
+ function classList(element) {
+ return (' ' + (element.className || '') + ' ').replace(/\s+/gi, ' ');
+ }
+
+ /**
+ * (Internal) Removes an element from the DOM.
+ */
+
+ function removeElement(element) {
+ element && element.parentNode && element.parentNode.removeChild(element);
+ }
+
+ return NProgress;
+ });
+
+
+
+ /***/ }),
+ /* 271 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+ /**
+ * radio 颜色 样式
+ */
+ colors: _propTypes2["default"].oneOf(['', 'dark', 'success', 'info', 'warning', 'danger', 'primary']),
+ /**
+ * radio 大小
+ */
+ size: _propTypes2["default"].oneOf(['lg', 'sm']),
+ /**
+ * radio 是否可用
+ */
+ disabled: _propTypes2["default"].bool,
+ /**
+ * radio 样式 是否使用红色填充
+ */
+ inverse: _propTypes2["default"].bool,
+ checked: _propTypes2["default"].bool,
+ onChange: _propTypes2["default"].func
+ };
+
+ var defaultProps = {
+ inverse: false,
+ disabled: false,
+ clsPrefix: 'u-radio'
+ };
+
+ /**
+ * 建立与RadioGroup通信
+ */
+ var contextTypes = {
+ radioGroup: _propTypes2["default"].object
+ };
+
+ var Radio = function (_React$Component) {
+ _inherits(Radio, _React$Component);
+
+ function Radio(props, context) {
+ _classCallCheck(this, Radio);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
+
+ _this.handleClick = function (event) {
+ if (_this.props.disabled) {
+ return;
+ }
+ if (_this.context.radioGroup && _this.context.radioGroup.onChange) {
+ _this.context.radioGroup.onChange(_this.props.value);
+ } else {
+ if (!('checked' in _this.props)) {
+ _this.setState({
+ checked: !_this.state.checked
+ });
+ }
+ event.target.checked = !_this.state.checked;
+ _this.props.onChange && _this.props.onChange(event, !_this.state.checked);
+ }
+ };
+
+ _this.handleFocus = function (e) {
+ if (e.target && e.target.type == 'radio') {
+ _this.setState({
+ focused: true
+ });
+ }
+ };
+
+ _this.handleBlur = function (e) {
+ if (e.target && e.target.type == 'radio') {
+ _this.setState({
+ focused: false
+ });
+ }
+ };
+
+ var initChecked = typeof props.checked !== 'undefined' ? props.checked : props.defaultChecked;
+ _this.state = {
+ checked: initChecked,
+ focused: false
+ };
+ return _this;
+ }
+
+ Radio.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if ('checked' in nextProps) {
+ this.setState({
+ checked: nextProps.checked
+ });
+ }
+ };
+
+ Radio.prototype.render = function render() {
+ var _classes;
+
+ var state = this.state,
+ props = this.props,
+ context = this.context;
+ var checked = state.checked;
+ /**
+ * 自身的属性
+ */
+
+ var inverse = props.inverse,
+ disabled = props.disabled,
+ colors = props.colors,
+ className = props.className,
+ children = props.children,
+ clsPrefix = props.clsPrefix,
+ style = props.style,
+ onChange = props.onChange,
+ others = _objectWithoutProperties(props, ['inverse', 'disabled', 'colors', 'className', 'children', 'clsPrefix', 'style', 'onChange']);
+
+ var radioGroup = context.radioGroup;
+
+ var radioProps = _extends({}, others);
+ // 包裹 radioGroup
+ if (radioGroup) {
+ radioProps.name = radioGroup.name;
+ radioProps.selectedValue = radioGroup.selectedValue;
+ radioProps.size = radioGroup.size;
+ radioProps.focusvalue = radioGroup.focusvalue;
+ }
+ var name = radioProps.name,
+ selectedValue = radioProps.selectedValue,
+ size = radioProps.size,
+ focusvalue = radioProps.focusvalue;
+
+
+ var optional = {};
+ /**
+ * 若父级selectedValue与本身的value值相同,则改radio被选中
+ */
+ if (selectedValue !== undefined) {
+ optional.checked = this.props.value === selectedValue;
+ }
+
+ var classes = (_classes = {}, _defineProperty(_classes, clsPrefix + '-focused', this.state.focused), _defineProperty(_classes, 'is-checked', typeof optional.checked !== 'undefined' ? optional.checked : checked), _defineProperty(_classes, 'disabled', disabled), _classes);
+
+ if (colors) {
+ classes[clsPrefix + '-' + colors] = true;
+ }
+ if (size) {
+ classes[clsPrefix + '-' + size] = true;
+ }
+ if (inverse) {
+ classes[clsPrefix + '-inverse'] = true;
+ }
+ if (children == null) {
+ classes[clsPrefix + '-noContent'] = true;
+ }
+ var classNames = (0, _classnames2["default"])(clsPrefix, classes);
+ var tabIndex = optional.checked ? 0 : -1;
+ if (focusvalue && focusvalue == this.props.value) {
+ tabIndex = 0;
+ }
+ var input = _react2["default"].createElement('input', _extends({}, radioProps, {
+ type: 'radio',
+ name: name,
+ disabled: this.props.disabled,
+ tabIndex: tabIndex,
+ onFocus: this.handleFocus,
+ onBlur: this.handleBlur
+ }));
+ return _react2["default"].createElement(
+ 'label',
+ { style: style, onClick: this.handleClick, className: (0, _classnames2["default"])(className, classNames) },
+ input,
+ _react2["default"].createElement(
+ 'label',
+ { className: clsPrefix + '-label' },
+ children
+ )
+ );
+ };
+
+ return Radio;
+ }(_react2["default"].Component);
+
+ Radio.contextTypes = contextTypes;
+ Radio.propTypes = propTypes;
+ Radio.defaultProps = defaultProps;
+
+ exports["default"] = Radio;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 272 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _ownerDocument = __webpack_require__(97);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _getContainer = __webpack_require__(273);
+
+ var _getContainer2 = _interopRequireDefault(_getContainer);
+
+ var _tinperBeeCore = __webpack_require__(98);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var isReact16 = _reactDom2["default"].createPortal !== undefined;
+ var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
+
+ var propTypes = {
+ /**
+ * 存放子组件的容器
+ */
+ container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
+ };
+
+ var defaultProps = {};
+
+ /**
+ * Portal组件是将子组件渲染
+ */
+
+ var Portal = function (_Component) {
+ _inherits(Portal, _Component);
+
+ function Portal(props) {
+ _classCallCheck(this, Portal);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.getMountNode = _this.getMountNode.bind(_this);
+ _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
+ _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
+ _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
+ _this.renderOverlay = _this.renderOverlay.bind(_this);
+ _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
+
+ _this.overlayTarget = isReact16 ? document.createElement('div') : null;
+ return _this;
+ }
+
+ Portal.prototype.componentDidMount = function componentDidMount() {
+ if (isReact16) {
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ } else {
+ this.renderOverlay();
+ }
+
+ this.mounted = true;
+ };
+
+ Portal.prototype.componentDidUpdate = function componentDidUpdate() {
+ if (isReact16) {
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+ if (overlay === null) {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ } else {}
+ } else {
+ this.renderOverlay();
+ }
+ };
+ //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
+
+
+ Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.overlayTarget && nextProps.container !== this.props.container) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+
+ Portal.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+
+ this.mounted = false;
+ };
+
+ Portal.prototype.getMountNode = function getMountNode() {
+ return this.overlayTarget;
+ };
+
+ Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
+ if (!this.mounted) {
+ throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
+ }
+
+ if (this.overlayInstance) {
+ return _reactDom2["default"].findDOMNode(this.overlayInstance);
+ }
+
+ return null;
+ };
+
+ /**
+ * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
+ */
+
+ Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
+ if (!this.overlayTarget) {
+ this.overlayTarget = document.createElement('div');
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+ /**
+ * 将要添加的子元素从容器中移除,并把变量置为null
+ */
+
+
+ Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
+ if (this.overlayTarget) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.overlayTarget = null;
+ }
+ this.portalContainerNode = null;
+ };
+ /**
+ * 手动渲染_overlayTarget
+ */
+
+
+ Portal.prototype.renderOverlay = function renderOverlay() {
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ // Save reference for future access.
+ if (overlay !== null) {
+ this.mountOverlayTarget();
+ this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
+ } else {
+ // Unrender if the component is null for transitions to null
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ }
+ };
+ /**
+ * 销毁_overlayTarget组件。并把_overlayInstance置为null
+ */
+
+
+ Portal.prototype.unrenderOverlay = function unrenderOverlay() {
+ if (this.overlayTarget) {
+ !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
+ this.overlayInstance = null;
+ }
+ };
+
+ Portal.prototype.render = function render() {
+ if (!isReact16) {
+ return null;
+ }
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
+ };
+
+ return Portal;
+ }(_react.Component);
+
+ ;
+
+ Portal.propTypes = propTypes;
+ Portal.defaultProps = defaultProps;
+
+ exports["default"] = Portal;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 273 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = getContainer;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ /**
+ * 获取容器组件
+ * @param {[type]} container [description]
+ * @param {[type]} defaultContainer [description]
+ * @return {[type]} [description]
+ */
+ function getContainer(container, defaultContainer) {
+ container = typeof container === 'function' ? container() : container;
+ return _reactDom2["default"].findDOMNode(container) || defaultContainer;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 274 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 275 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = camelizeStyleName;
+
+ var _camelize = __webpack_require__(879);
+
+ var _camelize2 = _interopRequireDefault(_camelize);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var msPattern = /^-ms-/; /**
+ * Copyright 2014-2015, Facebook, Inc.
+ * All rights reserved.
+ * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
+ */
+ function camelizeStyleName(string) {
+ return (0, _camelize2.default)(string.replace(msPattern, 'ms-'));
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 276 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (node, event, handler, capture) {
+ (0, _on2["default"])(node, event, handler, capture);
+
+ return {
+ remove: function remove() {
+ (0, _off2["default"])(node, event, handler, capture);
+ }
+ };
+ };
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _off = __webpack_require__(49);
+
+ var _off2 = _interopRequireDefault(_off);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 277 */
+ /***/ (function(module, exports) {
+
+ // removed by extract-text-webpack-plugin
+
+ /***/ }),
+ /* 278 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.PanelGroup = exports.Panel = undefined;
+
+ var _Panel2 = __webpack_require__(896);
+
+ var _Panel3 = _interopRequireDefault(_Panel2);
+
+ var _PanelGroup2 = __webpack_require__(927);
+
+ var _PanelGroup3 = _interopRequireDefault(_PanelGroup2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports.Panel = _Panel3["default"];
+ exports.PanelGroup = _PanelGroup3["default"];
+
+ /***/ }),
+ /* 279 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 280 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 281 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ exports["default"] = util;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 282 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var deselectCurrent = __webpack_require__(926);
+
+ var clipboardToIE11Formatting = {
+ "text/plain": "Text",
+ "text/html": "Url",
+ "default": "Text"
+ }
+
+ var defaultMessage = "Copy to clipboard: #{key}, Enter";
+
+ function format(message) {
+ var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
+ return message.replace(/#{\s*key\s*}/g, copyKey);
+ }
+
+ function copy(text, options) {
+ var debug,
+ message,
+ reselectPrevious,
+ range,
+ selection,
+ mark,
+ success = false;
+ if (!options) {
+ options = {};
+ }
+ debug = options.debug || false;
+ try {
+ reselectPrevious = deselectCurrent();
+
+ range = document.createRange();
+ selection = document.getSelection();
+
+ mark = document.createElement("span");
+ mark.textContent = text;
+ // reset user styles for span element
+ mark.style.all = "unset";
+ // prevents scrolling to the end of the page
+ mark.style.position = "fixed";
+ mark.style.top = 0;
+ mark.style.clip = "rect(0, 0, 0, 0)";
+ // used to preserve spaces and line breaks
+ mark.style.whiteSpace = "pre";
+ // do not inherit user-select (it may be `none`)
+ mark.style.webkitUserSelect = "text";
+ mark.style.MozUserSelect = "text";
+ mark.style.msUserSelect = "text";
+ mark.style.userSelect = "text";
+ mark.addEventListener("copy", function(e) {
+ e.stopPropagation();
+ if (options.format) {
+ e.preventDefault();
+ if (typeof e.clipboardData === "undefined") { // IE 11
+ debug && console.warn("unable to use e.clipboardData");
+ debug && console.warn("trying IE specific stuff");
+ window.clipboardData.clearData();
+ var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
+ window.clipboardData.setData(format, text);
+ } else { // all other browsers
+ e.clipboardData.clearData();
+ e.clipboardData.setData(options.format, text);
+ }
+ }
+ if (options.onCopy) {
+ e.preventDefault();
+ options.onCopy(e.clipboardData);
+ }
+ });
+
+ document.body.appendChild(mark);
+
+ range.selectNodeContents(mark);
+ selection.addRange(range);
+
+ var successful = document.execCommand("copy");
+ if (!successful) {
+ throw new Error("copy command was unsuccessful");
+ }
+ success = true;
+ } catch (err) {
+ debug && console.error("unable to copy using execCommand: ", err);
+ debug && console.warn("trying IE specific stuff");
+ try {
+ window.clipboardData.setData(options.format || "text", text);
+ options.onCopy && options.onCopy(window.clipboardData);
+ success = true;
+ } catch (err) {
+ debug && console.error("unable to copy using clipboardData: ", err);
+ debug && console.error("falling back to prompt");
+ message = format("message" in options ? options.message : defaultMessage);
+ window.prompt(message, text);
+ }
+ } finally {
+ if (selection) {
+ if (typeof selection.removeRange == "function") {
+ selection.removeRange(range);
+ } else {
+ selection.removeAllRanges();
+ }
+ }
+
+ if (mark) {
+ document.body.removeChild(mark);
+ }
+ reselectPrevious();
+ }
+
+ return success;
+ }
+
+ module.exports = copy;
+
+
+ /***/ }),
+ /* 283 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+ */
+ /* global define */
+
+ (function () {
+ 'use strict';
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames () {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ if (typeof module !== 'undefined' && module.exports) {
+ classNames.default = classNames;
+ module.exports = classNames;
+ } else if (true) {
+ // register as 'classnames', consistent with npm package name
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
+ return classNames;
+ }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else {
+ window.classNames = classNames;
+ }
+ }());
+
+
+ /***/ }),
+ /* 284 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 285 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 286 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ exports["default"] = util;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 287 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var AdvancedContainer = function (_React$Component) {
+ _inherits(AdvancedContainer, _React$Component);
+
+ function AdvancedContainer() {
+ _classCallCheck(this, AdvancedContainer);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ AdvancedContainer.prototype.render = function render() {
+ return this.props.children;
+ };
+
+ return AdvancedContainer;
+ }(_react2["default"].Component);
+
+ AdvancedContainer.show = true;
+ exports["default"] = AdvancedContainer;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 288 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var HeadContainer = function (_React$Component) {
+ _inherits(HeadContainer, _React$Component);
+
+ function HeadContainer() {
+ _classCallCheck(this, HeadContainer);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ HeadContainer.prototype.render = function render() {
+ var _props = this.props,
+ children = _props.children,
+ clsPrefix = _props.clsPrefix,
+ _className = _props.className;
+
+ var ht = children ? _react2["default"].createElement(
+ 'div',
+ null,
+ children
+ ) : null;
+ return ht;
+ };
+
+ return HeadContainer;
+ }(_react2["default"].Component);
+
+ exports["default"] = HeadContainer;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 289 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.Fade = exports.Collapse = exports.Transition = undefined;
+
+ var _Transition2 = __webpack_require__(158);
+
+ var _Transition3 = _interopRequireDefault(_Transition2);
+
+ var _Collapse2 = __webpack_require__(290);
+
+ var _Collapse3 = _interopRequireDefault(_Collapse2);
+
+ var _Fade2 = __webpack_require__(983);
+
+ var _Fade3 = _interopRequireDefault(_Fade2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports.Transition = _Transition3["default"];
+ exports.Collapse = _Collapse3["default"];
+ exports.Fade = _Fade3["default"];
+
+ /***/ }),
+ /* 290 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _style = __webpack_require__(31);
+
+ var _style2 = _interopRequireDefault(_style);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _Transition = __webpack_require__(158);
+
+ var _Transition2 = _interopRequireDefault(_Transition);
+
+ var _capitalize = __webpack_require__(968);
+
+ var _capitalize2 = _interopRequireDefault(_capitalize);
+
+ var _tinperBeeCore = __webpack_require__(969);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var MARGINS = {
+ height: ['marginTop', 'marginBottom'],
+ width: ['marginLeft', 'marginRight']
+ };
+
+ // reading a dimension prop will cause the browser to recalculate,
+ // which will let our animations work
+ function triggerBrowserReflow(node) {
+ node.offsetHeight; // eslint-disable-line no-unused-expressions
+ }
+
+ function getDimensionValue(dimension, elem) {
+ var value = elem['offset' + (0, _capitalize2["default"])(dimension)];
+ var margins = MARGINS[dimension];
+
+ return value + parseInt((0, _style2["default"])(elem, margins[0]), 10) + parseInt((0, _style2["default"])(elem, margins[1]), 10);
+ }
+
+ var propTypes = {
+ /**
+ * Show the component; triggers the expand or collapse animation
+ */
+ "in": _propTypes2["default"].bool,
+
+ /**
+ * Unmount the component (remove it from the DOM) when it is collapsed
+ */
+ unmountOnExit: _propTypes2["default"].bool,
+
+ /**
+ * Run the expand animation when the component mounts, if it is initially
+ * shown
+ */
+ transitionAppear: _propTypes2["default"].bool,
+
+ /**
+ * Duration of the collapse animation in milliseconds, to ensure that
+ * finishing callbacks are fired even if the original browser transition end
+ * events are canceled
+ */
+ timeout: _propTypes2["default"].number,
+
+ /**
+ * Callback fired before the component expands
+ */
+ onEnter: _propTypes2["default"].func,
+ /**
+ * Callback fired after the component starts to expand
+ */
+ onEntering: _propTypes2["default"].func,
+ /**
+ * Callback fired after the component has expanded
+ */
+ onEntered: _propTypes2["default"].func,
+ /**
+ * Callback fired before the component collapses
+ */
+ onExit: _propTypes2["default"].func,
+ /**
+ * Callback fired after the component starts to collapse
+ */
+ onExiting: _propTypes2["default"].func,
+ /**
+ * Callback fired after the component has collapsed
+ */
+ onExited: _propTypes2["default"].func,
+
+ /**
+ * The dimension used when collapsing, or a function that returns the
+ * dimension
+ *
+ * _Note: Bootstrap only partially supports 'width'!
+ * You will need to supply your own CSS animation for the `.width` CSS class._
+ */
+ dimension: _propTypes2["default"].oneOfType([_propTypes2["default"].oneOf(['height', 'width']), _propTypes2["default"].func]),
+
+ /**
+ * Function that returns the height or width of the animating DOM node
+ *
+ * Allows for providing some custom logic for how much the Collapse component
+ * should animate in its specified dimension. Called with the current
+ * dimension prop value and the DOM node.
+ */
+ getDimensionValue: _propTypes2["default"].func,
+
+ /**
+ * ARIA role of collapsible element
+ */
+ role: _propTypes2["default"].string
+ };
+
+ var defaultProps = {
+ "in": false,
+ timeout: 300,
+ unmountOnExit: false,
+ transitionAppear: false,
+
+ dimension: 'height',
+ getDimensionValue: getDimensionValue
+ };
+
+ var Collapse = function (_React$Component) {
+ _inherits(Collapse, _React$Component);
+
+ function Collapse(props, context) {
+ _classCallCheck(this, Collapse);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
+
+ _this.handleEnter = _this.handleEnter.bind(_this);
+ _this.handleEntering = _this.handleEntering.bind(_this);
+ _this.handleEntered = _this.handleEntered.bind(_this);
+ _this.handleExit = _this.handleExit.bind(_this);
+ _this.handleExiting = _this.handleExiting.bind(_this);
+ return _this;
+ }
+
+ /* -- Expanding -- */
+
+
+ Collapse.prototype.handleEnter = function handleEnter(elem) {
+ var dimension = this._dimension();
+ elem.style[dimension] = '0';
+ };
+
+ Collapse.prototype.handleEntering = function handleEntering(elem) {
+ var dimension = this._dimension();
+ elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);
+ };
+
+ Collapse.prototype.handleEntered = function handleEntered(elem) {
+ var dimension = this._dimension();
+ elem.style[dimension] = null;
+ };
+
+ /* -- Collapsing -- */
+
+
+ Collapse.prototype.handleExit = function handleExit(elem) {
+ var dimension = this._dimension();
+ elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';
+ triggerBrowserReflow(elem);
+ };
+
+ Collapse.prototype.handleExiting = function handleExiting(elem) {
+ var dimension = this._dimension();
+ elem.style[dimension] = '0';
+ };
+
+ Collapse.prototype._dimension = function _dimension() {
+ return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;
+ };
+
+ // for testing
+
+
+ Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {
+ return elem['scroll' + (0, _capitalize2["default"])(dimension)] + 'px';
+ };
+
+ Collapse.prototype.render = function render() {
+ var _props = this.props,
+ onEnter = _props.onEnter,
+ onEntering = _props.onEntering,
+ onEntered = _props.onEntered,
+ onExit = _props.onExit,
+ onExiting = _props.onExiting,
+ className = _props.className,
+ props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);
+
+ delete props.dimension;
+ delete props.getDimensionValue;
+
+ var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);
+ var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);
+ var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);
+ var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);
+ var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);
+
+ var classes = {
+ width: this._dimension() === 'width'
+ };
+
+ return _react2["default"].createElement(_Transition2["default"], _extends({}, props, {
+ 'aria-expanded': props.role ? props["in"] : null,
+ className: (0, _classnames2["default"])(className, classes),
+ exitedClassName: 'collapse',
+ exitingClassName: 'collapsing',
+ enteredClassName: 'collapse in',
+ enteringClassName: 'collapsing',
+ onEnter: handleEnter,
+ onEntering: handleEntering,
+ onEntered: handleEntered,
+ onExit: handleExit,
+ onExiting: handleExiting
+ }));
+ };
+
+ return Collapse;
+ }(_react2["default"].Component);
+
+ Collapse.propTypes = propTypes;
+ Collapse.defaultProps = defaultProps;
+
+ exports["default"] = Collapse;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 291 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 292 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
+ }
+
+ /***/ }),
+ /* 293 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.SubPopupMenu = undefined;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**
+ * This source code is quoted from rc-menu.
+ * homepage: https://github.com/react-component/menu
+ */
+
+
+ exports.getActiveKey = getActiveKey;
+ exports.saveRef = saveRef;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _miniStore = __webpack_require__(21);
+
+ var _tinperBeeCore = __webpack_require__(103);
+
+ var _createChainedFunction = __webpack_require__(296);
+
+ var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _util = __webpack_require__(61);
+
+ var _DOMWrap = __webpack_require__(1024);
+
+ var _DOMWrap2 = _interopRequireDefault(_DOMWrap);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function allDisabled(arr) {
+ if (!arr.length) {
+ return true;
+ }
+ return arr.every(function (c) {
+ return !!c.props.disabled;
+ });
+ }
+
+ function updateActiveKey(store, menuId, activeKey) {
+ var state = store.getState();
+ store.setState({
+ activeKey: _extends({}, state.activeKey, _defineProperty({}, menuId, activeKey))
+ });
+ }
+
+ function getEventKey(props) {
+ // when eventKey not available ,it's menu and return menu id '0-menu-'
+ return props.eventKey || '0-menu-';
+ }
+
+ function getActiveKey(props, originalActiveKey) {
+ var activeKey = originalActiveKey;
+ var children = props.children,
+ eventKey = props.eventKey;
+
+ if (activeKey) {
+ var found = void 0;
+ (0, _util.loopMenuItem)(children, function (c, i) {
+ if (c && !c.props.disabled && activeKey === (0, _util.getKeyFromChildrenIndex)(c, eventKey, i)) {
+ found = true;
+ }
+ });
+ if (found) {
+ return activeKey;
+ }
+ }
+ activeKey = null;
+ if (props.defaultActiveFirst) {
+ (0, _util.loopMenuItem)(children, function (c, i) {
+ if (!activeKey && c && !c.props.disabled) {
+ activeKey = (0, _util.getKeyFromChildrenIndex)(c, eventKey, i);
+ }
+ });
+ return activeKey;
+ }
+ return activeKey;
+ }
+
+ function saveRef(c) {
+ if (c) {
+ var index = this.instanceArray.indexOf(c);
+ if (index !== -1) {
+ // update component if it's already inside instanceArray
+ this.instanceArray[index] = c;
+ } else {
+ // add component if it's not in instanceArray yet;
+ this.instanceArray.push(c);
+ }
+ }
+ }
+
+ var SubPopupMenu = exports.SubPopupMenu = function (_React$Component) {
+ _inherits(SubPopupMenu, _React$Component);
+
+ function SubPopupMenu(props) {
+ _classCallCheck(this, SubPopupMenu);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ props.store.setState({
+ activeKey: _extends({}, props.store.getState().activeKey, _defineProperty({}, props.eventKey, getActiveKey(props, props.activeKey)))
+ });
+
+ _this.instanceArray = [];
+ return _this;
+ }
+
+ SubPopupMenu.prototype.componentDidMount = function componentDidMount() {
+ // invoke customized ref to expose component to mixin
+ if (this.props.manualRef) {
+ this.props.manualRef(this);
+ }
+ };
+
+ SubPopupMenu.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return this.props.visible || nextProps.visible;
+ };
+
+ SubPopupMenu.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
+ var props = this.props;
+ var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];
+ var activeKey = getActiveKey(props, originalActiveKey);
+ if (activeKey !== originalActiveKey) {
+ updateActiveKey(props.store, getEventKey(props), activeKey);
+ } else if ('activeKey' in prevProps) {
+ // If prev activeKey is not same as current activeKey,
+ // we should set it.
+ var prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);
+ if (activeKey !== prevActiveKey) {
+ updateActiveKey(props.store, getEventKey(props), activeKey);
+ }
+ }
+ };
+
+ // all keyboard events callbacks run from here at first
+
+
+ SubPopupMenu.prototype.render = function render() {
+ var _this2 = this;
+
+ var props = _objectWithoutProperties(this.props, []);
+
+ this.instanceArray = [];
+ var className = (0, _classnames2["default"])(props.prefixCls, props.className, props.prefixCls + '-' + props.mode);
+ var domProps = {
+ className: className,
+ // role could be 'select' and by default set to menu
+ role: props.role || 'menu'
+ };
+ if (props.id) {
+ domProps.id = props.id;
+ }
+ if (props.focusable) {
+ domProps.tabIndex = this.props.tabIndex;
+ domProps.onKeyDown = props.keyboard && this.onKeyDown;
+ }
+ var prefixCls = props.prefixCls,
+ eventKey = props.eventKey,
+ visible = props.visible,
+ level = props.level,
+ mode = props.mode,
+ overflowedIndicator = props.overflowedIndicator,
+ theme = props.theme;
+
+ _util.menuAllProps.forEach(function (key) {
+ return delete props[key];
+ });
+
+ // Otherwise, the propagated click event will trigger another onClick
+ delete props.onClick;
+ delete props.keyboard;
+
+ return (
+ // ESLint is not smart enough to know that the type of `children` was checked.
+ /* eslint-disable */
+ _react2["default"].createElement(
+ _DOMWrap2["default"],
+ _extends({}, props, {
+ prefixCls: prefixCls,
+ mode: mode,
+ tag: 'ul',
+ level: level,
+ theme: theme,
+ hiddenClassName: prefixCls + '-hidden',
+ visible: visible,
+ overflowedIndicator: overflowedIndicator
+ }, domProps),
+ _react2["default"].Children.map(props.children, function (c, i) {
+ return _this2.renderMenuItem(c, i, eventKey || '0-menu-');
+ })
+ )
+ /*eslint-enable */
+
+ );
+ };
+
+ return SubPopupMenu;
+ }(_react2["default"].Component);
+
+ SubPopupMenu.propTypes = {
+ onSelect: _propTypes2["default"].func,
+ onClick: _propTypes2["default"].func,
+ onDeselect: _propTypes2["default"].func,
+ onOpenChange: _propTypes2["default"].func,
+ onDestroy: _propTypes2["default"].func,
+ openTransitionName: _propTypes2["default"].string,
+ openAnimation: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
+ openKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ visible: _propTypes2["default"].bool,
+ children: _propTypes2["default"].any,
+ parentMenu: _propTypes2["default"].object,
+ eventKey: _propTypes2["default"].string,
+ store: _propTypes2["default"].shape({
+ getState: _propTypes2["default"].func,
+ setState: _propTypes2["default"].func
+ }),
+
+ // adding in refactor
+ focusable: _propTypes2["default"].bool,
+ multiple: _propTypes2["default"].bool,
+ style: _propTypes2["default"].object,
+ defaultActiveFirst: _propTypes2["default"].bool,
+ activeKey: _propTypes2["default"].string,
+ selectedKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ defaultSelectedKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ defaultOpenKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ level: _propTypes2["default"].number,
+ mode: _propTypes2["default"].oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
+ triggerSubMenuAction: _propTypes2["default"].oneOf(['click', 'hover']),
+ inlineIndent: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
+ manualRef: _propTypes2["default"].func,
+ itemIcon: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].node]),
+ expandIcon: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].node])
+ };
+ SubPopupMenu.defaultProps = {
+ prefixCls: 'rc-menu',
+ className: '',
+ mode: 'vertical',
+ level: 1,
+ inlineIndent: 24,
+ visible: true,
+ focusable: true,
+ style: {},
+ manualRef: _util.noop
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.onKeyDown = function (e, callback) {
+ var keyCode = e.keyCode;
+ var handled = void 0;
+ _this3.getFlatInstanceArray().forEach(function (obj) {
+ if (obj && obj.props.active && obj.onKeyDown) {
+ handled = obj.onKeyDown(e);
+ }
+ });
+ if (handled) {
+ return 1;
+ }
+ var activeItem = null;
+ if (keyCode === _tinperBeeCore.KeyCode.UP || keyCode === _tinperBeeCore.KeyCode.DOWN) {
+ if (_this3.props.store.getState().keyboard) {
+ //是否启用键盘操作
+ activeItem = _this3.step(keyCode === _tinperBeeCore.KeyCode.UP ? -2 : 2);
+ }
+ }
+
+ if (activeItem) {
+ e.preventDefault();
+ updateActiveKey(_this3.props.store, getEventKey(_this3.props), activeItem.props.eventKey);
+
+ if (typeof callback === 'function') {
+ callback(activeItem);
+ }
+
+ return 1;
+ }
+ };
+
+ this.onItemHover = function (e) {
+ var key = e.key,
+ hover = e.hover;
+
+ updateActiveKey(_this3.props.store, getEventKey(_this3.props), hover ? key : null);
+ };
+
+ this.onDeselect = function (selectInfo) {
+ _this3.props.onDeselect(selectInfo);
+ };
+
+ this.onSelect = function (selectInfo) {
+ _this3.props.onSelect(selectInfo);
+ };
+
+ this.onClick = function (e) {
+ _this3.props.onClick(e);
+ };
+
+ this.onOpenChange = function (e) {
+ _this3.props.onOpenChange(e);
+ };
+
+ this.onDestroy = function (key) {
+ /* istanbul ignore next */
+ _this3.props.onDestroy(key);
+ };
+
+ this.getFlatInstanceArray = function () {
+ return _this3.instanceArray;
+ };
+
+ this.getOpenTransitionName = function () {
+ return _this3.props.openTransitionName;
+ };
+
+ this.step = function (direction) {
+ var children = _this3.getFlatInstanceArray();
+ var activeKey = _this3.props.store.getState().activeKey[getEventKey(_this3.props)];
+ var len = children.length;
+ if (!len) {
+ return null;
+ }
+ if (direction < 0) {
+ children = children.concat().reverse();
+ }
+ // find current activeIndex
+ var activeIndex = -1;
+ children.every(function (c, ci) {
+ if (c && c.props.eventKey === activeKey) {
+ activeIndex = ci;
+ return false;
+ }
+ return true;
+ });
+ if (!_this3.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {
+ return undefined;
+ }
+ var start = (activeIndex + 1) % len;
+ var i = start;
+
+ do {
+ var child = children[i];
+ if (!child || child.props.disabled) {
+ i = (i + 1) % len;
+ } else {
+ return child;
+ }
+ } while (i !== start);
+
+ return null;
+ };
+
+ this.renderCommonMenuItem = function (child, i, extraProps) {
+ var state = _this3.props.store.getState();
+ var props = _this3.props;
+ var key = (0, _util.getKeyFromChildrenIndex)(child, props.eventKey, i);
+ var childProps = child.props;
+ var isActive = key === state.activeKey;
+ var newChildProps = _extends({
+ mode: childProps.mode || props.mode,
+ level: props.level,
+ inlineIndent: props.inlineIndent,
+ renderMenuItem: _this3.renderMenuItem,
+ rootPrefixCls: props.prefixCls,
+ index: i,
+ parentMenu: props.parentMenu,
+ // customized ref function, need to be invoked manually in child's componentDidMount
+ manualRef: childProps.disabled ? undefined : (0, _createChainedFunction2["default"])(child.ref, saveRef.bind(_this3)),
+ eventKey: key,
+ active: !childProps.disabled && isActive,
+ multiple: props.multiple,
+ onClick: function onClick(e) {
+ (childProps.onClick || _util.noop)(e);
+ _this3.onClick(e);
+ },
+ onItemHover: _this3.onItemHover,
+ openTransitionName: _this3.getOpenTransitionName(),
+ openAnimation: props.openAnimation,
+ subMenuOpenDelay: props.subMenuOpenDelay,
+ subMenuCloseDelay: props.subMenuCloseDelay,
+ forceSubMenuRender: props.forceSubMenuRender,
+ onOpenChange: _this3.onOpenChange,
+ onDeselect: _this3.onDeselect,
+ onSelect: _this3.onSelect,
+ builtinPlacements: props.builtinPlacements,
+ itemIcon: childProps.itemIcon || _this3.props.itemIcon,
+ expandIcon: childProps.expandIcon || _this3.props.expandIcon
+ }, extraProps);
+ if (props.mode === 'inline') {
+ newChildProps.triggerSubMenuAction = 'click';
+ }
+ return _react2["default"].cloneElement(child, newChildProps);
+ };
+
+ this.renderMenuItem = function (c, i, subMenuKey) {
+ /* istanbul ignore if */
+
+ if (!c) {
+ return null;
+ }
+ var state = _this3.props.store.getState();
+ var extraProps = {
+ openKeys: state.openKeys,
+ selectedKeys: state.selectedKeys,
+ triggerSubMenuAction: _this3.props.triggerSubMenuAction,
+ subMenuKey: subMenuKey
+ };
+ return _this3.renderCommonMenuItem(c, i, extraProps);
+ };
+ };
+
+ var connected = (0, _miniStore.connect)()(SubPopupMenu);
+
+ exports["default"] = connected;
+
+ /***/ }),
+ /* 294 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 295 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 296 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = createChainedFunction;
+
+ /**
+ * Safe chained function
+ *
+ * Will only create a new function if needed,
+ * otherwise will pass back existing functions or null.
+ *
+ * @returns {function|null}
+ */
+ function createChainedFunction() {
+ var args = [].slice.call(arguments, 0);
+
+ if (args.length === 1) {
+ return args[0];
+ }
+
+ return function chainedFunction() {
+ for (var i = 0; i < args.length; i++) {
+ if (args[i] && args[i].apply) {
+ args[i].apply(this, arguments);
+ }
+ }
+ };
+ }
+
+ /***/ }),
+ /* 297 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.SubMenu = undefined;
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**
+ * This source code is quoted from rc-menu.
+ * homepage: https://github.com/react-component/menu
+ */
+
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _rcTrigger = __webpack_require__(73);
+
+ var _rcTrigger2 = _interopRequireDefault(_rcTrigger);
+
+ var _tinperBeeCore = __webpack_require__(103);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _miniStore = __webpack_require__(21);
+
+ var _SubPopupMenu = __webpack_require__(293);
+
+ var _SubPopupMenu2 = _interopRequireDefault(_SubPopupMenu);
+
+ var _placements = __webpack_require__(1025);
+
+ var _placements2 = _interopRequireDefault(_placements);
+
+ var _rcAnimate = __webpack_require__(96);
+
+ var _rcAnimate2 = _interopRequireDefault(_rcAnimate);
+
+ var _util = __webpack_require__(61);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ var guid = 0;
+
+ var popupPlacementMap = {
+ horizontal: 'bottomLeft',
+ vertical: 'rightTop',
+ 'vertical-left': 'rightTop',
+ 'vertical-right': 'leftTop'
+ };
+
+ var updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {
+ var menuId = (0, _util.getMenuIdFromSubMenuEventKey)(eventKey);
+ var state = store.getState();
+ store.setState({
+ defaultActiveFirst: _extends({}, state.defaultActiveFirst, _defineProperty({}, menuId, defaultActiveFirst))
+ });
+ };
+
+ var SubMenu = exports.SubMenu = function (_React$Component) {
+ _inherits(SubMenu, _React$Component);
+
+ function SubMenu(props) {
+ _classCallCheck(this, SubMenu);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var store = props.store;
+ var eventKey = props.eventKey;
+ var defaultActiveFirst = store.getState().defaultActiveFirst;
+
+ _this.isRootMenu = false;
+
+ var value = false;
+
+ if (defaultActiveFirst) {
+ value = defaultActiveFirst[eventKey];
+ }
+
+ updateDefaultActiveFirst(store, eventKey, value);
+ return _this;
+ }
+
+ SubMenu.prototype.componentDidMount = function componentDidMount() {
+ this.componentDidUpdate();
+ };
+
+ SubMenu.prototype.componentDidUpdate = function componentDidUpdate() {
+ var _props = this.props,
+ mode = _props.mode,
+ parentMenu = _props.parentMenu,
+ manualRef = _props.manualRef;
+
+ // invoke customized ref to expose component to mixin
+
+ if (manualRef) {
+ manualRef(this);
+ }
+
+ if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.props.isOpen) {
+ return;
+ }
+
+ // this.minWidthTimeout = setTimeout(() => this.adjustWidth(), 0);
+ this.adjustWidth();
+ };
+
+ SubMenu.prototype.componentWillUnmount = function componentWillUnmount() {
+ var _props2 = this.props,
+ onDestroy = _props2.onDestroy,
+ eventKey = _props2.eventKey;
+
+ if (onDestroy) {
+ onDestroy(eventKey);
+ }
+
+ /* istanbul ignore if */
+ /* if (this.minWidthTimeout) {
+ clearTimeout(this.minWidthTimeout);
+ }*/
+
+ /* istanbul ignore if */
+ if (this.mouseenterTimeout) {
+ clearTimeout(this.mouseenterTimeout);
+ }
+ };
+
+ SubMenu.prototype.renderChildren = function renderChildren(children) {
+ var props = this.props;
+ var baseProps = {
+ mode: props.mode === 'horizontal' ? 'vertical' : props.mode,
+ visible: this.props.isOpen,
+ level: props.level + 1,
+ inlineIndent: props.inlineIndent,
+ focusable: false,
+ onClick: this.onSubMenuClick,
+ onSelect: this.onSelect,
+ onDeselect: this.onDeselect,
+ onDestroy: this.onDestroy,
+ selectedKeys: props.selectedKeys,
+ eventKey: props.eventKey + '-menu-',
+ openKeys: props.openKeys,
+ openTransitionName: props.openTransitionName,
+ openAnimation: props.openAnimation,
+ onOpenChange: this.onOpenChange,
+ subMenuOpenDelay: props.subMenuOpenDelay,
+ parentMenu: this,
+ subMenuCloseDelay: props.subMenuCloseDelay,
+ forceSubMenuRender: props.forceSubMenuRender,
+ triggerSubMenuAction: props.triggerSubMenuAction,
+ builtinPlacements: props.builtinPlacements,
+ defaultActiveFirst: props.store.getState().defaultActiveFirst[(0, _util.getMenuIdFromSubMenuEventKey)(props.eventKey)],
+ multiple: props.multiple,
+ prefixCls: props.rootPrefixCls,
+ id: this._menuId,
+ manualRef: this.saveMenuInstance,
+ itemIcon: props.itemIcon,
+ expandIcon: props.expandIcon
+ };
+
+ var haveRendered = this.haveRendered;
+ this.haveRendered = true;
+
+ this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;
+ // never rendered not planning to, don't render
+ if (!this.haveOpened) {
+ return _react2["default"].createElement('div', null);
+ }
+
+ // don't show transition on first rendering (no animation for opened menu)
+ // show appear transition if it's not visible (not sure why)
+ // show appear transition if it's not inline mode
+ var transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';
+
+ baseProps.className = ' ' + baseProps.prefixCls + '-sub';
+ var animProps = {};
+
+ if (baseProps.openTransitionName) {
+ animProps.transitionName = baseProps.openTransitionName;
+ } else if (_typeof(baseProps.openAnimation) === 'object') {
+ animProps.animation = _extends({}, baseProps.openAnimation);
+ if (!transitionAppear) {
+ delete animProps.animation.appear;
+ }
+ }
+
+ return _react2["default"].createElement(
+ _rcAnimate2["default"],
+ _extends({}, animProps, {
+ showProp: 'visible',
+ component: '',
+ transitionAppear: transitionAppear
+ }),
+ _react2["default"].createElement(
+ _SubPopupMenu2["default"],
+ _extends({}, baseProps, { id: this._menuId }),
+ children
+ )
+ );
+ };
+
+ SubMenu.prototype.render = function render() {
+ var _classNames;
+
+ var props = _extends({}, this.props);
+ var isOpen = props.isOpen;
+ var prefixCls = this.getPrefixCls();
+ var isInlineMode = props.mode === 'inline';
+ var className = (0, _classnames2["default"])(prefixCls, prefixCls + '-' + props.mode, (_classNames = {}, _defineProperty(_classNames, props.className, !!props.className), _defineProperty(_classNames, this.getOpenClassName(), isOpen), _defineProperty(_classNames, this.getActiveClassName(), props.active || isOpen && !isInlineMode), _defineProperty(_classNames, this.getDisabledClassName(), props.disabled), _defineProperty(_classNames, this.getSelectedClassName(), this.isChildrenSelected()), _classNames));
+
+ if (!this._menuId) {
+ if (props.eventKey) {
+ this._menuId = props.eventKey + '$Menu';
+ } else {
+ this._menuId = '$__$' + ++guid + '$Menu';
+ }
+ }
+
+ var mouseEvents = {};
+ var titleClickEvents = {};
+ var titleMouseEvents = {};
+ if (!props.disabled) {
+ mouseEvents = {
+ onMouseLeave: this.onMouseLeave,
+ onMouseEnter: this.onMouseEnter
+ };
+
+ // only works in title, not outer li
+ titleClickEvents = {
+ onClick: this.onTitleClick
+ };
+ titleMouseEvents = {
+ onMouseEnter: this.onTitleMouseEnter,
+ onMouseLeave: this.onTitleMouseLeave
+ };
+ }
+
+ var style = {};
+ if (isInlineMode) {
+ style.paddingLeft = props.inlineIndent * props.level;
+ }
+
+ var ariaOwns = {};
+ // only set aria-owns when menu is open
+ // otherwise it would be an invalid aria-owns value
+ // since corresponding node cannot be found
+ if (this.props.isOpen) {
+ ariaOwns = {
+ 'aria-owns': this._menuId
+ };
+ }
+
+ // expand custom icon should NOT be displayed in menu with horizontal mode.
+ var icon = null;
+ if (props.mode !== 'horizontal') {
+ icon = this.props.expandIcon; // ReactNode
+ if (typeof this.props.expandIcon === 'function') {
+ icon = _react2["default"].createElement(this.props.expandIcon, _extends({}, this.props));
+ }
+ }
+
+ var title = _react2["default"].createElement(
+ 'div',
+ _extends({
+ ref: this.saveSubMenuTitle,
+ style: style,
+ className: prefixCls + '-title'
+ }, titleMouseEvents, titleClickEvents, {
+ 'aria-expanded': isOpen
+ }, ariaOwns, {
+ 'aria-haspopup': 'true',
+ title: typeof props.title === 'string' ? props.title : undefined
+ }),
+ props.title,
+ icon || _react2["default"].createElement('i', { className: prefixCls + '-arrow' })
+ );
+ var children = this.renderChildren(props.children);
+
+ var getPopupContainer = function getPopupContainer(triggerNode) {
+ return triggerNode.parentNode;
+ };
+ var popupPlacement = popupPlacementMap[props.mode];
+ var popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};
+ var popupClassName = props.mode === 'inline' ? '' : props.popupClassName;
+ var disabled = props.disabled,
+ triggerSubMenuAction = props.triggerSubMenuAction,
+ subMenuOpenDelay = props.subMenuOpenDelay,
+ forceSubMenuRender = props.forceSubMenuRender,
+ subMenuCloseDelay = props.subMenuCloseDelay,
+ builtinPlacements = props.builtinPlacements;
+
+ _util.menuAllProps.forEach(function (key) {
+ return delete props[key];
+ });
+ // Set onClick to null, to ignore propagated onClick event
+ delete props.onClick;
+ return _react2["default"].createElement(
+ 'li',
+ _extends({}, props, mouseEvents, {
+ className: className,
+ role: 'menuitem'
+ }),
+ isInlineMode && title,
+ isInlineMode && children,
+ !isInlineMode && _react2["default"].createElement(
+ _rcTrigger2["default"],
+ {
+ prefixCls: prefixCls,
+ popupClassName: prefixCls + '-popup ' + popupClassName,
+ getPopupContainer: getPopupContainer,
+ builtinPlacements: _extends({}, _placements2["default"], builtinPlacements),
+ popupPlacement: this.props.mode == 'vertical' ? this.props.position || popupPlacement : popupPlacement,
+ popupVisible: isOpen,
+ popupAlign: popupAlign,
+ popup: children,
+ action: disabled ? [] : [triggerSubMenuAction],
+ mouseEnterDelay: subMenuOpenDelay,
+ mouseLeaveDelay: subMenuCloseDelay,
+ onPopupVisibleChange: this.onPopupVisibleChange,
+ forceRender: forceSubMenuRender
+ },
+ title
+ )
+ );
+ };
+
+ return SubMenu;
+ }(_react2["default"].Component);
+
+ SubMenu.propTypes = {
+ parentMenu: _propTypes2["default"].object,
+ title: _propTypes2["default"].node,
+ children: _propTypes2["default"].any,
+ selectedKeys: _propTypes2["default"].array,
+ openKeys: _propTypes2["default"].array,
+ onClick: _propTypes2["default"].func,
+ onOpenChange: _propTypes2["default"].func,
+ rootPrefixCls: _propTypes2["default"].string,
+ eventKey: _propTypes2["default"].string,
+ multiple: _propTypes2["default"].bool,
+ active: _propTypes2["default"].bool, // TODO: remove
+ onItemHover: _propTypes2["default"].func,
+ onSelect: _propTypes2["default"].func,
+ triggerSubMenuAction: _propTypes2["default"].string,
+ onDeselect: _propTypes2["default"].func,
+ onDestroy: _propTypes2["default"].func,
+ onMouseEnter: _propTypes2["default"].func,
+ onMouseLeave: _propTypes2["default"].func,
+ onTitleMouseEnter: _propTypes2["default"].func,
+ onTitleMouseLeave: _propTypes2["default"].func,
+ onTitleClick: _propTypes2["default"].func,
+ popupOffset: _propTypes2["default"].array,
+ isOpen: _propTypes2["default"].bool,
+ store: _propTypes2["default"].object,
+ mode: _propTypes2["default"].oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
+ manualRef: _propTypes2["default"].func,
+ itemIcon: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].node]),
+ expandIcon: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].node]),
+ position: _propTypes2["default"].oneOf(['bottomLeft', 'topLeft', 'leftTop', 'rightTop'])
+ };
+ SubMenu.defaultProps = {
+ onMouseEnter: _util.noop,
+ onMouseLeave: _util.noop,
+ onTitleMouseEnter: _util.noop,
+ onTitleMouseLeave: _util.noop,
+ onTitleClick: _util.noop,
+ manualRef: _util.noop,
+ mode: 'vertical',
+ title: ''
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.onDestroy = function (key) {
+ _this2.props.onDestroy(key);
+ };
+
+ this.onKeyDown = function (e) {
+ var keyCode = e.keyCode;
+ var menu = _this2.menuInstance;
+ var _props3 = _this2.props,
+ isOpen = _props3.isOpen,
+ store = _props3.store;
+
+ if (_this2.props.store.getState().keyboard) {
+ //是否启用键盘操作
+ if (keyCode === _tinperBeeCore.KeyCode.ENTER) {
+ // this.onTitleClick(e);
+ menu && menu.onKeyDown && menu.onKeyDown(e);
+ updateDefaultActiveFirst(store, _this2.props.eventKey, true);
+ return true;
+ }
+
+ if (keyCode === _tinperBeeCore.KeyCode.RIGHT) {
+ if (isOpen) {
+ menu.onKeyDown(e);
+ } else {
+ _this2.triggerOpenChange(true);
+ // need to update current menu's defaultActiveFirst value
+ updateDefaultActiveFirst(store, _this2.props.eventKey, true);
+ }
+ return true;
+ }
+ if (keyCode === _tinperBeeCore.KeyCode.LEFT) {
+ var handled = void 0;
+ if (isOpen) {
+ handled = menu.onKeyDown(e);
+ } else {
+ return undefined;
+ }
+ if (!handled) {
+ _this2.triggerOpenChange(false);
+ handled = true;
+ }
+ return handled;
+ }
+ if (isOpen && (keyCode === _tinperBeeCore.KeyCode.UP || keyCode === _tinperBeeCore.KeyCode.DOWN)) {
+ return menu.onKeyDown(e);
+ }
+ }
+ };
+
+ this.onOpenChange = function (e) {
+ _this2.props.onOpenChange(e);
+ };
+
+ this.onPopupVisibleChange = function (visible) {
+ _this2.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');
+ };
+
+ this.onMouseEnter = function (e) {
+ var _props4 = _this2.props,
+ key = _props4.eventKey,
+ onMouseEnter = _props4.onMouseEnter,
+ store = _props4.store;
+
+ updateDefaultActiveFirst(store, _this2.props.eventKey, false);
+ onMouseEnter({
+ key: key,
+ domEvent: e
+ });
+ };
+
+ this.onMouseLeave = function (e) {
+ var _props5 = _this2.props,
+ parentMenu = _props5.parentMenu,
+ eventKey = _props5.eventKey,
+ onMouseLeave = _props5.onMouseLeave;
+
+ parentMenu.subMenuInstance = _this2;
+ onMouseLeave({
+ key: eventKey,
+ domEvent: e
+ });
+ };
+
+ this.onTitleMouseEnter = function (domEvent) {
+ var _props6 = _this2.props,
+ key = _props6.eventKey,
+ onItemHover = _props6.onItemHover,
+ onTitleMouseEnter = _props6.onTitleMouseEnter;
+
+ onItemHover({
+ key: key,
+ hover: true
+ });
+ onTitleMouseEnter({
+ key: key,
+ domEvent: domEvent
+ });
+ };
+
+ this.onTitleMouseLeave = function (e) {
+ var _props7 = _this2.props,
+ parentMenu = _props7.parentMenu,
+ eventKey = _props7.eventKey,
+ onItemHover = _props7.onItemHover,
+ onTitleMouseLeave = _props7.onTitleMouseLeave;
+
+ parentMenu.subMenuInstance = _this2;
+ onItemHover({
+ key: eventKey,
+ hover: false
+ });
+ onTitleMouseLeave({
+ key: eventKey,
+ domEvent: e
+ });
+ };
+
+ this.onTitleClick = function (e) {
+ var props = _this2.props;
+
+ props.onTitleClick({
+ key: props.eventKey,
+ domEvent: e
+ });
+ if (props.triggerSubMenuAction === 'hover') {
+ return;
+ }
+ _this2.triggerOpenChange(!props.isOpen, 'click');
+ updateDefaultActiveFirst(props.store, _this2.props.eventKey, false);
+ };
+
+ this.onSubMenuClick = function (info) {
+ // in the case of overflowed submenu
+ // onClick is not copied over
+ if (typeof _this2.props.onClick === 'function') {
+ _this2.props.onClick(_this2.addKeyPath(info));
+ }
+ };
+
+ this.onSelect = function (info) {
+ _this2.props.onSelect(info);
+ };
+
+ this.onDeselect = function (info) {
+ _this2.props.onDeselect(info);
+ };
+
+ this.getPrefixCls = function () {
+ return _this2.props.rootPrefixCls + '-submenu';
+ };
+
+ this.getActiveClassName = function () {
+ return _this2.getPrefixCls() + '-active';
+ };
+
+ this.getDisabledClassName = function () {
+ return _this2.getPrefixCls() + '-disabled';
+ };
+
+ this.getSelectedClassName = function () {
+ return _this2.getPrefixCls() + '-selected';
+ };
+
+ this.getOpenClassName = function () {
+ return _this2.props.rootPrefixCls + '-submenu-open';
+ };
+
+ this.saveMenuInstance = function (c) {
+ // children menu instance
+ _this2.menuInstance = c;
+ };
+
+ this.addKeyPath = function (info) {
+ return _extends({}, info, {
+ keyPath: (info.keyPath || []).concat(_this2.props.eventKey)
+ });
+ };
+
+ this.triggerOpenChange = function (open, type) {
+ var key = _this2.props.eventKey;
+ var openChange = function openChange() {
+ _this2.onOpenChange({
+ key: key,
+ item: _this2,
+ trigger: type,
+ open: open
+ });
+ };
+ if (type === 'mouseenter') {
+ // make sure mouseenter happen after other menu item's mouseleave
+ _this2.mouseenterTimeout = setTimeout(function () {
+ openChange();
+ }, 0);
+ } else {
+ openChange();
+ }
+ };
+
+ this.isChildrenSelected = function () {
+ var ret = { find: false };
+ (0, _util.loopMenuItemRecursively)(_this2.props.children, _this2.props.selectedKeys, ret);
+ return ret.find;
+ };
+
+ this.isOpen = function () {
+ return _this2.props.openKeys.indexOf(_this2.props.eventKey) !== -1;
+ };
+
+ this.adjustWidth = function () {
+ /* istanbul ignore if */
+ if (!_this2.subMenuTitle || !_this2.menuInstance) {
+ return;
+ }
+ var popupMenu = _reactDom2["default"].findDOMNode(_this2.menuInstance);
+ if (popupMenu.offsetWidth >= _this2.subMenuTitle.offsetWidth) {
+ return;
+ }
+
+ /* istanbul ignore next */
+ popupMenu.style.minWidth = _this2.subMenuTitle.offsetWidth + 'px'; //bug是因为在这里加了一个minWidth
+ };
+
+ this.saveSubMenuTitle = function (subMenuTitle) {
+ _this2.subMenuTitle = subMenuTitle;
+ };
+ };
+
+ var connected = (0, _miniStore.connect)(function (_ref, _ref2) {
+ var openKeys = _ref.openKeys,
+ activeKey = _ref.activeKey,
+ selectedKeys = _ref.selectedKeys;
+ var eventKey = _ref2.eventKey,
+ subMenuKey = _ref2.subMenuKey;
+ return {
+ isOpen: openKeys.indexOf(eventKey) > -1,
+ active: activeKey[subMenuKey] === eventKey,
+ selectedKeys: selectedKeys
+ };
+ })(SubMenu);
+
+ connected.isSubMenu = true;
+
+ exports["default"] = connected;
+
+ /***/ }),
+ /* 298 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = uid;
+ var now = +new Date();
+ var index = 0;
+
+ function uid() {
+ return "u-upload-" + now + "-" + ++index;
+ }
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 299 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _Modal = __webpack_require__(162);
+
+ var _Modal2 = _interopRequireDefault(_Modal);
+
+ var _confirm = __webpack_require__(1140);
+
+ var _confirm2 = _interopRequireDefault(_confirm);
+
+ var _beeIcon = __webpack_require__(15);
+
+ var _beeIcon2 = _interopRequireDefault(_beeIcon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ _Modal2["default"].info = function (props) {
+ var config = _extends({
+ type: 'info',
+ icon: _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-i-c-2' }),
+ okCancel: false
+ }, props);
+ return (0, _confirm2["default"])(config);
+ };
+
+ _Modal2["default"].success = function (props) {
+ var config = _extends({
+ type: 'success',
+ icon: _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-correct' }),
+ okCancel: false
+ }, props);
+ return (0, _confirm2["default"])(config);
+ };
+
+ _Modal2["default"].error = function (props) {
+ var config = _extends({
+ type: 'error',
+ icon: _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-exc-c' }),
+ okCancel: false
+ }, props);
+ return (0, _confirm2["default"])(config);
+ };
+
+ _Modal2["default"].warning = function (props) {
+ var config = _extends({
+ type: 'warning',
+ icon: _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-exc-t' }),
+ okCancel: false
+ }, props);
+ return (0, _confirm2["default"])(config);
+ };
+
+ _Modal2["default"].confirm = function (props) {
+ var config = _extends({
+ type: 'confirm',
+ okCancel: true,
+ confirmType: 'one'
+ }, props);
+ return (0, _confirm2["default"])(config);
+ };
+
+ // onOk: ()=>{
+ // console.log('onOk')
+ // },
+ // onCancel:()=>{
+ // console.log('onCancel')
+ // },
+ // title:'提示信息',
+ // keyword:'删除',
+ // content:"确定要删除吗?",
+
+ _Modal2["default"].destroyAll = function () {
+ while (_Modal.destroyFns.length) {
+ var close = _Modal.destroyFns.pop();
+ if (close) {
+ close();
+ }
+ }
+ };
+
+ exports["default"] = _Modal2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 300 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1048);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1049);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1050);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1051);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1052);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(1053);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(1054);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1055);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1056);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(301);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1057);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1059);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1060);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 301 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 302 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (componentOrElement) {
+ return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
+ };
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _ownerDocument = __webpack_require__(22);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 303 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = getContainer;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ /**
+ * 获取容器组件
+ * @param {[type]} container [description]
+ * @param {[type]} defaultContainer [description]
+ * @return {[type]} [description]
+ */
+ function getContainer(container, defaultContainer) {
+ container = typeof container === 'function' ? container() : container;
+ return _reactDom2["default"].findDOMNode(container) || defaultContainer;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 304 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = hasClass;
+ function hasClass(element, className) {
+ if (element.classList) return !!className && element.classList.contains(className);else return (" " + element.className + " ").indexOf(" " + className + " ") !== -1;
+ }
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 305 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 306 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(218);
+
+ /***/ }),
+ /* 307 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {var isProduction = process.env.NODE_ENV === 'production';
+ var prefix = 'Invariant failed';
+ function invariant(condition, message) {
+ if (condition) {
+ return;
+ }
+ if (isProduction) {
+ throw new Error(prefix);
+ }
+ throw new Error(prefix + ": " + (message || ''));
+ }
+
+ /* harmony default export */ __webpack_exports__["a"] = (invariant);
+
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5)))
+
+ /***/ }),
+ /* 308 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {/* unused harmony export __DO_NOT_USE__ActionTypes */
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return applyMiddleware; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return bindActionCreators; });
+ /* unused harmony export combineReducers */
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return compose; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return createStore; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_symbol_observable__ = __webpack_require__(1098);
+
+
+ /**
+ * These are private action types reserved by Redux.
+ * For any unknown actions, you must return the current state.
+ * If the current state is undefined, you must return the initial state.
+ * Do not reference these action types directly in your code.
+ */
+ var randomString = function randomString() {
+ return Math.random().toString(36).substring(7).split('').join('.');
+ };
+
+ var ActionTypes = {
+ INIT: "@@redux/INIT" + randomString(),
+ REPLACE: "@@redux/REPLACE" + randomString(),
+ PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
+ return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
+ }
+ };
+
+ /**
+ * @param {any} obj The object to inspect.
+ * @returns {boolean} True if the argument appears to be a plain object.
+ */
+ function isPlainObject(obj) {
+ if (typeof obj !== 'object' || obj === null) return false;
+ var proto = obj;
+
+ while (Object.getPrototypeOf(proto) !== null) {
+ proto = Object.getPrototypeOf(proto);
+ }
+
+ return Object.getPrototypeOf(obj) === proto;
+ }
+
+ /**
+ * Creates a Redux store that holds the state tree.
+ * The only way to change the data in the store is to call `dispatch()` on it.
+ *
+ * There should only be a single store in your app. To specify how different
+ * parts of the state tree respond to actions, you may combine several reducers
+ * into a single reducer function by using `combineReducers`.
+ *
+ * @param {Function} reducer A function that returns the next state tree, given
+ * the current state tree and the action to handle.
+ *
+ * @param {any} [preloadedState] The initial state. You may optionally specify it
+ * to hydrate the state from the server in universal apps, or to restore a
+ * previously serialized user session.
+ * If you use `combineReducers` to produce the root reducer function, this must be
+ * an object with the same shape as `combineReducers` keys.
+ *
+ * @param {Function} [enhancer] The store enhancer. You may optionally specify it
+ * to enhance the store with third-party capabilities such as middleware,
+ * time travel, persistence, etc. The only store enhancer that ships with Redux
+ * is `applyMiddleware()`.
+ *
+ * @returns {Store} A Redux store that lets you read the state, dispatch actions
+ * and subscribe to changes.
+ */
+
+ function createStore(reducer, preloadedState, enhancer) {
+ var _ref2;
+
+ if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {
+ throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');
+ }
+
+ if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
+ enhancer = preloadedState;
+ preloadedState = undefined;
+ }
+
+ if (typeof enhancer !== 'undefined') {
+ if (typeof enhancer !== 'function') {
+ throw new Error('Expected the enhancer to be a function.');
+ }
+
+ return enhancer(createStore)(reducer, preloadedState);
+ }
+
+ if (typeof reducer !== 'function') {
+ throw new Error('Expected the reducer to be a function.');
+ }
+
+ var currentReducer = reducer;
+ var currentState = preloadedState;
+ var currentListeners = [];
+ var nextListeners = currentListeners;
+ var isDispatching = false;
+ /**
+ * This makes a shallow copy of currentListeners so we can use
+ * nextListeners as a temporary list while dispatching.
+ *
+ * This prevents any bugs around consumers calling
+ * subscribe/unsubscribe in the middle of a dispatch.
+ */
+
+ function ensureCanMutateNextListeners() {
+ if (nextListeners === currentListeners) {
+ nextListeners = currentListeners.slice();
+ }
+ }
+ /**
+ * Reads the state tree managed by the store.
+ *
+ * @returns {any} The current state tree of your application.
+ */
+
+
+ function getState() {
+ if (isDispatching) {
+ throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');
+ }
+
+ return currentState;
+ }
+ /**
+ * Adds a change listener. It will be called any time an action is dispatched,
+ * and some part of the state tree may potentially have changed. You may then
+ * call `getState()` to read the current state tree inside the callback.
+ *
+ * You may call `dispatch()` from a change listener, with the following
+ * caveats:
+ *
+ * 1. The subscriptions are snapshotted just before every `dispatch()` call.
+ * If you subscribe or unsubscribe while the listeners are being invoked, this
+ * will not have any effect on the `dispatch()` that is currently in progress.
+ * However, the next `dispatch()` call, whether nested or not, will use a more
+ * recent snapshot of the subscription list.
+ *
+ * 2. The listener should not expect to see all state changes, as the state
+ * might have been updated multiple times during a nested `dispatch()` before
+ * the listener is called. It is, however, guaranteed that all subscribers
+ * registered before the `dispatch()` started will be called with the latest
+ * state by the time it exits.
+ *
+ * @param {Function} listener A callback to be invoked on every dispatch.
+ * @returns {Function} A function to remove this change listener.
+ */
+
+
+ function subscribe(listener) {
+ if (typeof listener !== 'function') {
+ throw new Error('Expected the listener to be a function.');
+ }
+
+ if (isDispatching) {
+ throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');
+ }
+
+ var isSubscribed = true;
+ ensureCanMutateNextListeners();
+ nextListeners.push(listener);
+ return function unsubscribe() {
+ if (!isSubscribed) {
+ return;
+ }
+
+ if (isDispatching) {
+ throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');
+ }
+
+ isSubscribed = false;
+ ensureCanMutateNextListeners();
+ var index = nextListeners.indexOf(listener);
+ nextListeners.splice(index, 1);
+ currentListeners = null;
+ };
+ }
+ /**
+ * Dispatches an action. It is the only way to trigger a state change.
+ *
+ * The `reducer` function, used to create the store, will be called with the
+ * current state tree and the given `action`. Its return value will
+ * be considered the **next** state of the tree, and the change listeners
+ * will be notified.
+ *
+ * The base implementation only supports plain object actions. If you want to
+ * dispatch a Promise, an Observable, a thunk, or something else, you need to
+ * wrap your store creating function into the corresponding middleware. For
+ * example, see the documentation for the `redux-thunk` package. Even the
+ * middleware will eventually dispatch plain object actions using this method.
+ *
+ * @param {Object} action A plain object representing “what changed”. It is
+ * a good idea to keep actions serializable so you can record and replay user
+ * sessions, or use the time travelling `redux-devtools`. An action must have
+ * a `type` property which may not be `undefined`. It is a good idea to use
+ * string constants for action types.
+ *
+ * @returns {Object} For convenience, the same action object you dispatched.
+ *
+ * Note that, if you use a custom middleware, it may wrap `dispatch()` to
+ * return something else (for example, a Promise you can await).
+ */
+
+
+ function dispatch(action) {
+ if (!isPlainObject(action)) {
+ throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
+ }
+
+ if (typeof action.type === 'undefined') {
+ throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
+ }
+
+ if (isDispatching) {
+ throw new Error('Reducers may not dispatch actions.');
+ }
+
+ try {
+ isDispatching = true;
+ currentState = currentReducer(currentState, action);
+ } finally {
+ isDispatching = false;
+ }
+
+ var listeners = currentListeners = nextListeners;
+
+ for (var i = 0; i < listeners.length; i++) {
+ var listener = listeners[i];
+ listener();
+ }
+
+ return action;
+ }
+ /**
+ * Replaces the reducer currently used by the store to calculate the state.
+ *
+ * You might need this if your app implements code splitting and you want to
+ * load some of the reducers dynamically. You might also need this if you
+ * implement a hot reloading mechanism for Redux.
+ *
+ * @param {Function} nextReducer The reducer for the store to use instead.
+ * @returns {void}
+ */
+
+
+ function replaceReducer(nextReducer) {
+ if (typeof nextReducer !== 'function') {
+ throw new Error('Expected the nextReducer to be a function.');
+ }
+
+ currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.
+ // Any reducers that existed in both the new and old rootReducer
+ // will receive the previous state. This effectively populates
+ // the new state tree with any relevant data from the old one.
+
+ dispatch({
+ type: ActionTypes.REPLACE
+ });
+ }
+ /**
+ * Interoperability point for observable/reactive libraries.
+ * @returns {observable} A minimal observable of state changes.
+ * For more information, see the observable proposal:
+ * https://github.com/tc39/proposal-observable
+ */
+
+
+ function observable() {
+ var _ref;
+
+ var outerSubscribe = subscribe;
+ return _ref = {
+ /**
+ * The minimal observable subscription method.
+ * @param {Object} observer Any object that can be used as an observer.
+ * The observer object should have a `next` method.
+ * @returns {subscription} An object with an `unsubscribe` method that can
+ * be used to unsubscribe the observable from the store, and prevent further
+ * emission of values from the observable.
+ */
+ subscribe: function subscribe(observer) {
+ if (typeof observer !== 'object' || observer === null) {
+ throw new TypeError('Expected the observer to be an object.');
+ }
+
+ function observeState() {
+ if (observer.next) {
+ observer.next(getState());
+ }
+ }
+
+ observeState();
+ var unsubscribe = outerSubscribe(observeState);
+ return {
+ unsubscribe: unsubscribe
+ };
+ }
+ }, _ref[__WEBPACK_IMPORTED_MODULE_0_symbol_observable__["a" /* default */]] = function () {
+ return this;
+ }, _ref;
+ } // When a store is created, an "INIT" action is dispatched so that every
+ // reducer returns their initial state. This effectively populates
+ // the initial state tree.
+
+
+ dispatch({
+ type: ActionTypes.INIT
+ });
+ return _ref2 = {
+ dispatch: dispatch,
+ subscribe: subscribe,
+ getState: getState,
+ replaceReducer: replaceReducer
+ }, _ref2[__WEBPACK_IMPORTED_MODULE_0_symbol_observable__["a" /* default */]] = observable, _ref2;
+ }
+
+ /**
+ * Prints a warning in the console if it exists.
+ *
+ * @param {String} message The warning message.
+ * @returns {void}
+ */
+ function warning(message) {
+ /* eslint-disable no-console */
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
+ console.error(message);
+ }
+ /* eslint-enable no-console */
+
+
+ try {
+ // This error was thrown as a convenience so that if you enable
+ // "break on all exceptions" in your console,
+ // it would pause the execution at this line.
+ throw new Error(message);
+ } catch (e) {} // eslint-disable-line no-empty
+
+ }
+
+ function getUndefinedStateErrorMessage(key, action) {
+ var actionType = action && action.type;
+ var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
+ return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
+ }
+
+ function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
+ var reducerKeys = Object.keys(reducers);
+ var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
+
+ if (reducerKeys.length === 0) {
+ return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
+ }
+
+ if (!isPlainObject(inputState)) {
+ return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
+ }
+
+ var unexpectedKeys = Object.keys(inputState).filter(function (key) {
+ return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
+ });
+ unexpectedKeys.forEach(function (key) {
+ unexpectedKeyCache[key] = true;
+ });
+ if (action && action.type === ActionTypes.REPLACE) return;
+
+ if (unexpectedKeys.length > 0) {
+ return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored.");
+ }
+ }
+
+ function assertReducerShape(reducers) {
+ Object.keys(reducers).forEach(function (key) {
+ var reducer = reducers[key];
+ var initialState = reducer(undefined, {
+ type: ActionTypes.INIT
+ });
+
+ if (typeof initialState === 'undefined') {
+ throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
+ }
+
+ if (typeof reducer(undefined, {
+ type: ActionTypes.PROBE_UNKNOWN_ACTION()
+ }) === 'undefined') {
+ throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
+ }
+ });
+ }
+ /**
+ * Turns an object whose values are different reducer functions, into a single
+ * reducer function. It will call every child reducer, and gather their results
+ * into a single state object, whose keys correspond to the keys of the passed
+ * reducer functions.
+ *
+ * @param {Object} reducers An object whose values correspond to different
+ * reducer functions that need to be combined into one. One handy way to obtain
+ * it is to use ES6 `import * as reducers` syntax. The reducers may never return
+ * undefined for any action. Instead, they should return their initial state
+ * if the state passed to them was undefined, and the current state for any
+ * unrecognized action.
+ *
+ * @returns {Function} A reducer function that invokes every reducer inside the
+ * passed object, and builds a state object with the same shape.
+ */
+
+
+ function combineReducers(reducers) {
+ var reducerKeys = Object.keys(reducers);
+ var finalReducers = {};
+
+ for (var i = 0; i < reducerKeys.length; i++) {
+ var key = reducerKeys[i];
+
+ if (process.env.NODE_ENV !== 'production') {
+ if (typeof reducers[key] === 'undefined') {
+ warning("No reducer provided for key \"" + key + "\"");
+ }
+ }
+
+ if (typeof reducers[key] === 'function') {
+ finalReducers[key] = reducers[key];
+ }
+ }
+
+ var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same
+ // keys multiple times.
+
+ var unexpectedKeyCache;
+
+ if (process.env.NODE_ENV !== 'production') {
+ unexpectedKeyCache = {};
+ }
+
+ var shapeAssertionError;
+
+ try {
+ assertReducerShape(finalReducers);
+ } catch (e) {
+ shapeAssertionError = e;
+ }
+
+ return function combination(state, action) {
+ if (state === void 0) {
+ state = {};
+ }
+
+ if (shapeAssertionError) {
+ throw shapeAssertionError;
+ }
+
+ if (process.env.NODE_ENV !== 'production') {
+ var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
+
+ if (warningMessage) {
+ warning(warningMessage);
+ }
+ }
+
+ var hasChanged = false;
+ var nextState = {};
+
+ for (var _i = 0; _i < finalReducerKeys.length; _i++) {
+ var _key = finalReducerKeys[_i];
+ var reducer = finalReducers[_key];
+ var previousStateForKey = state[_key];
+ var nextStateForKey = reducer(previousStateForKey, action);
+
+ if (typeof nextStateForKey === 'undefined') {
+ var errorMessage = getUndefinedStateErrorMessage(_key, action);
+ throw new Error(errorMessage);
+ }
+
+ nextState[_key] = nextStateForKey;
+ hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
+ }
+
+ hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;
+ return hasChanged ? nextState : state;
+ };
+ }
+
+ function bindActionCreator(actionCreator, dispatch) {
+ return function () {
+ return dispatch(actionCreator.apply(this, arguments));
+ };
+ }
+ /**
+ * Turns an object whose values are action creators, into an object with the
+ * same keys, but with every function wrapped into a `dispatch` call so they
+ * may be invoked directly. This is just a convenience method, as you can call
+ * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
+ *
+ * For convenience, you can also pass an action creator as the first argument,
+ * and get a dispatch wrapped function in return.
+ *
+ * @param {Function|Object} actionCreators An object whose values are action
+ * creator functions. One handy way to obtain it is to use ES6 `import * as`
+ * syntax. You may also pass a single function.
+ *
+ * @param {Function} dispatch The `dispatch` function available on your Redux
+ * store.
+ *
+ * @returns {Function|Object} The object mimicking the original object, but with
+ * every action creator wrapped into the `dispatch` call. If you passed a
+ * function as `actionCreators`, the return value will also be a single
+ * function.
+ */
+
+
+ function bindActionCreators(actionCreators, dispatch) {
+ if (typeof actionCreators === 'function') {
+ return bindActionCreator(actionCreators, dispatch);
+ }
+
+ if (typeof actionCreators !== 'object' || actionCreators === null) {
+ throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
+ }
+
+ var boundActionCreators = {};
+
+ for (var key in actionCreators) {
+ var actionCreator = actionCreators[key];
+
+ if (typeof actionCreator === 'function') {
+ boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
+ }
+ }
+
+ return boundActionCreators;
+ }
+
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ }
+
+ function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+
+ if (Object.getOwnPropertySymbols) {
+ keys.push.apply(keys, Object.getOwnPropertySymbols(object));
+ }
+
+ if (enumerableOnly) keys = keys.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ return keys;
+ }
+
+ function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+
+ if (i % 2) {
+ ownKeys(source, true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(source).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
+
+ return target;
+ }
+
+ /**
+ * Composes single-argument functions from right to left. The rightmost
+ * function can take multiple arguments as it provides the signature for
+ * the resulting composite function.
+ *
+ * @param {...Function} funcs The functions to compose.
+ * @returns {Function} A function obtained by composing the argument functions
+ * from right to left. For example, compose(f, g, h) is identical to doing
+ * (...args) => f(g(h(...args))).
+ */
+ function compose() {
+ for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ if (funcs.length === 0) {
+ return function (arg) {
+ return arg;
+ };
+ }
+
+ if (funcs.length === 1) {
+ return funcs[0];
+ }
+
+ return funcs.reduce(function (a, b) {
+ return function () {
+ return a(b.apply(void 0, arguments));
+ };
+ });
+ }
+
+ /**
+ * Creates a store enhancer that applies middleware to the dispatch method
+ * of the Redux store. This is handy for a variety of tasks, such as expressing
+ * asynchronous actions in a concise manner, or logging every action payload.
+ *
+ * See `redux-thunk` package as an example of the Redux middleware.
+ *
+ * Because middleware is potentially asynchronous, this should be the first
+ * store enhancer in the composition chain.
+ *
+ * Note that each middleware will be given the `dispatch` and `getState` functions
+ * as named arguments.
+ *
+ * @param {...Function} middlewares The middleware chain to be applied.
+ * @returns {Function} A store enhancer applying the middleware.
+ */
+
+ function applyMiddleware() {
+ for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
+ middlewares[_key] = arguments[_key];
+ }
+
+ return function (createStore) {
+ return function () {
+ var store = createStore.apply(void 0, arguments);
+
+ var _dispatch = function dispatch() {
+ throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');
+ };
+
+ var middlewareAPI = {
+ getState: store.getState,
+ dispatch: function dispatch() {
+ return _dispatch.apply(void 0, arguments);
+ }
+ };
+ var chain = middlewares.map(function (middleware) {
+ return middleware(middlewareAPI);
+ });
+ _dispatch = compose.apply(void 0, chain)(store.dispatch);
+ return _objectSpread2({}, store, {
+ dispatch: _dispatch
+ });
+ };
+ };
+ }
+
+ /*
+ * This is a dummy function to check if the function name has been altered by minification.
+ * If the function has been minified and NODE_ENV !== 'production', warn the user.
+ */
+
+ function isCrushed() {}
+
+ if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
+ warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');
+ }
+
+
+
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5)))
+
+ /***/ }),
+ /* 309 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = _inheritsLoose;
+ function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+ }
+
+ /***/ }),
+ /* 310 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return subscriptionShape; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return storeShape; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);
+
+ var subscriptionShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
+ trySubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
+ tryUnsubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
+ notifyNestedSubs: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
+ isSubscribed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired
+ });
+ var storeShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
+ subscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
+ dispatch: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
+ getState: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired
+ });
+
+ /***/ }),
+ /* 311 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (immutable) */ __webpack_exports__["a"] = connectAdvanced;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_inheritsLoose__ = __webpack_require__(309);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_esm_assertThisInitialized__ = __webpack_require__(1106);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__babel_runtime_helpers_esm_extends__ = __webpack_require__(169);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__babel_runtime_helpers_esm_objectWithoutPropertiesLoose__ = __webpack_require__(170);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics__ = __webpack_require__(234);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_invariant__ = __webpack_require__(1107);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_invariant__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_is__ = __webpack_require__(135);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_is___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_is__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_Subscription__ = __webpack_require__(1108);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__ = __webpack_require__(310);
+
+
+
+
+
+
+
+
+
+
+ var prefixUnsafeLifecycleMethods = typeof __WEBPACK_IMPORTED_MODULE_6_react___default.a.forwardRef !== "undefined";
+ var hotReloadingVersion = 0;
+ var dummyState = {};
+
+ function noop() {}
+
+ function makeSelectorStateful(sourceSelector, store) {
+ // wrap the selector in an object that tracks its results between runs.
+ var selector = {
+ run: function runComponentSelector(props) {
+ try {
+ var nextProps = sourceSelector(store.getState(), props);
+
+ if (nextProps !== selector.props || selector.error) {
+ selector.shouldComponentUpdate = true;
+ selector.props = nextProps;
+ selector.error = null;
+ }
+ } catch (error) {
+ selector.shouldComponentUpdate = true;
+ selector.error = error;
+ }
+ }
+ };
+ return selector;
+ }
+
+ function connectAdvanced(
+ /*
+ selectorFactory is a func that is responsible for returning the selector function used to
+ compute new props from state, props, and dispatch. For example:
+ export default connectAdvanced((dispatch, options) => (state, props) => ({
+ thing: state.things[props.thingId],
+ saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),
+ }))(YourComponent)
+ Access to dispatch is provided to the factory so selectorFactories can bind actionCreators
+ outside of their selector as an optimization. Options passed to connectAdvanced are passed to
+ the selectorFactory, along with displayName and WrappedComponent, as the second argument.
+ Note that selectorFactory is responsible for all caching/memoization of inbound and outbound
+ props. Do not use connectAdvanced directly without memoizing results between calls to your
+ selector, otherwise the Connect component will re-render on every state or props change.
+ */
+ selectorFactory, // options object:
+ _ref) {
+ var _contextTypes, _childContextTypes;
+
+ if (_ref === void 0) {
+ _ref = {};
+ }
+
+ var _ref2 = _ref,
+ _ref2$getDisplayName = _ref2.getDisplayName,
+ getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {
+ return "ConnectAdvanced(" + name + ")";
+ } : _ref2$getDisplayName,
+ _ref2$methodName = _ref2.methodName,
+ methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,
+ _ref2$renderCountProp = _ref2.renderCountProp,
+ renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,
+ _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,
+ shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,
+ _ref2$storeKey = _ref2.storeKey,
+ storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,
+ _ref2$withRef = _ref2.withRef,
+ withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,
+ connectOptions = Object(__WEBPACK_IMPORTED_MODULE_3__babel_runtime_helpers_esm_objectWithoutPropertiesLoose__["a" /* default */])(_ref2, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef"]);
+
+ var subscriptionKey = storeKey + 'Subscription';
+ var version = hotReloadingVersion++;
+ var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__["a" /* storeShape */], _contextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__["b" /* subscriptionShape */], _contextTypes);
+ var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__["b" /* subscriptionShape */], _childContextTypes);
+ return function wrapWithConnect(WrappedComponent) {
+ __WEBPACK_IMPORTED_MODULE_5_invariant___default()(Object(__WEBPACK_IMPORTED_MODULE_7_react_is__["isValidElementType"])(WrappedComponent), "You must pass a component to the function returned by " + (methodName + ". Instead received " + JSON.stringify(WrappedComponent)));
+ var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
+ var displayName = getDisplayName(wrappedComponentName);
+
+ var selectorFactoryOptions = Object(__WEBPACK_IMPORTED_MODULE_2__babel_runtime_helpers_esm_extends__["a" /* default */])({}, connectOptions, {
+ getDisplayName: getDisplayName,
+ methodName: methodName,
+ renderCountProp: renderCountProp,
+ shouldHandleStateChanges: shouldHandleStateChanges,
+ storeKey: storeKey,
+ withRef: withRef,
+ displayName: displayName,
+ wrappedComponentName: wrappedComponentName,
+ WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps
+
+ /* eslint-disable react/no-deprecated */
+
+ });
+
+ var Connect =
+ /*#__PURE__*/
+ function (_Component) {
+ Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_inheritsLoose__["a" /* default */])(Connect, _Component);
+
+ function Connect(props, context) {
+ var _this;
+
+ _this = _Component.call(this, props, context) || this;
+ _this.version = version;
+ _this.state = {};
+ _this.renderCount = 0;
+ _this.store = props[storeKey] || context[storeKey];
+ _this.propsMode = Boolean(props[storeKey]);
+ _this.setWrappedInstance = _this.setWrappedInstance.bind(Object(__WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_esm_assertThisInitialized__["a" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_esm_assertThisInitialized__["a" /* default */])(_this)));
+ __WEBPACK_IMPORTED_MODULE_5_invariant___default()(_this.store, "Could not find \"" + storeKey + "\" in either the context or props of " + ("\"" + displayName + "\". Either wrap the root component in a , ") + ("or explicitly pass \"" + storeKey + "\" as a prop to \"" + displayName + "\"."));
+
+ _this.initSelector();
+
+ _this.initSubscription();
+
+ return _this;
+ }
+
+ var _proto = Connect.prototype;
+
+ _proto.getChildContext = function getChildContext() {
+ var _ref3;
+
+ // If this component received store from props, its subscription should be transparent
+ // to any descendants receiving store+subscription from context; it passes along
+ // subscription passed to it. Otherwise, it shadows the parent subscription, which allows
+ // Connect to control ordering of notifications to flow top-down.
+ var subscription = this.propsMode ? null : this.subscription;
+ return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;
+ };
+
+ _proto.componentDidMount = function componentDidMount() {
+ if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and
+ // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.
+ // Otherwise, unsubscription would never take place during SSR, causing a memory leak.
+ // To handle the case where a child component may have triggered a state change by
+ // dispatching an action in its componentWillMount, we have to re-run the select and maybe
+ // re-render.
+
+ this.subscription.trySubscribe();
+ this.selector.run(this.props);
+ if (this.selector.shouldComponentUpdate) this.forceUpdate();
+ }; // Note: this is renamed below to the UNSAFE_ version in React >=16.3.0
+
+
+ _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ this.selector.run(nextProps);
+ };
+
+ _proto.shouldComponentUpdate = function shouldComponentUpdate() {
+ return this.selector.shouldComponentUpdate;
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ if (this.subscription) this.subscription.tryUnsubscribe();
+ this.subscription = null;
+ this.notifyNestedSubs = noop;
+ this.store = null;
+ this.selector.run = noop;
+ this.selector.shouldComponentUpdate = false;
+ };
+
+ _proto.getWrappedInstance = function getWrappedInstance() {
+ __WEBPACK_IMPORTED_MODULE_5_invariant___default()(withRef, "To access the wrapped instance, you need to specify " + ("{ withRef: true } in the options argument of the " + methodName + "() call."));
+ return this.wrappedInstance;
+ };
+
+ _proto.setWrappedInstance = function setWrappedInstance(ref) {
+ this.wrappedInstance = ref;
+ };
+
+ _proto.initSelector = function initSelector() {
+ var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);
+ this.selector = makeSelectorStateful(sourceSelector, this.store);
+ this.selector.run(this.props);
+ };
+
+ _proto.initSubscription = function initSubscription() {
+ if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component
+ // connected to the store via props shouldn't use subscription from context, or vice versa.
+
+ var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];
+ this.subscription = new __WEBPACK_IMPORTED_MODULE_8__utils_Subscription__["a" /* default */](this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in
+ // the middle of the notification loop, where `this.subscription` will then be null. An
+ // extra null check every change can be avoided by copying the method onto `this` and then
+ // replacing it with a no-op on unmount. This can probably be avoided if Subscription's
+ // listeners logic is changed to not call listeners that have been unsubscribed in the
+ // middle of the notification loop.
+
+ this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);
+ };
+
+ _proto.onStateChange = function onStateChange() {
+ this.selector.run(this.props);
+
+ if (!this.selector.shouldComponentUpdate) {
+ this.notifyNestedSubs();
+ } else {
+ this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;
+ this.setState(dummyState);
+ }
+ };
+
+ _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {
+ // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it
+ // needs to notify nested subs. Once called, it unimplements itself until further state
+ // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does
+ // a boolean check every time avoids an extra method call most of the time, resulting
+ // in some perf boost.
+ this.componentDidUpdate = undefined;
+ this.notifyNestedSubs();
+ };
+
+ _proto.isSubscribed = function isSubscribed() {
+ return Boolean(this.subscription) && this.subscription.isSubscribed();
+ };
+
+ _proto.addExtraProps = function addExtraProps(props) {
+ if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.
+ // this is especially important for 'ref' since that's a reference back to the component
+ // instance. a singleton memoized selector would then be holding a reference to the
+ // instance, preventing the instance from being garbage collected, and that would be bad
+
+ var withExtras = Object(__WEBPACK_IMPORTED_MODULE_2__babel_runtime_helpers_esm_extends__["a" /* default */])({}, props);
+
+ if (withRef) withExtras.ref = this.setWrappedInstance;
+ if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;
+ if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;
+ return withExtras;
+ };
+
+ _proto.render = function render() {
+ var selector = this.selector;
+ selector.shouldComponentUpdate = false;
+
+ if (selector.error) {
+ throw selector.error;
+ } else {
+ return Object(__WEBPACK_IMPORTED_MODULE_6_react__["createElement"])(WrappedComponent, this.addExtraProps(selector.props));
+ }
+ };
+
+ return Connect;
+ }(__WEBPACK_IMPORTED_MODULE_6_react__["Component"]);
+
+ if (prefixUnsafeLifecycleMethods) {
+ // Use UNSAFE_ event name where supported
+ Connect.prototype.UNSAFE_componentWillReceiveProps = Connect.prototype.componentWillReceiveProps;
+ delete Connect.prototype.componentWillReceiveProps;
+ }
+ /* eslint-enable react/no-deprecated */
+
+
+ Connect.WrappedComponent = WrappedComponent;
+ Connect.displayName = displayName;
+ Connect.childContextTypes = childContextTypes;
+ Connect.contextTypes = contextTypes;
+ Connect.propTypes = contextTypes;
+
+ if (process.env.NODE_ENV !== 'production') {
+ // Use UNSAFE_ event name where supported
+ var eventName = prefixUnsafeLifecycleMethods ? 'UNSAFE_componentWillUpdate' : 'componentWillUpdate';
+
+ Connect.prototype[eventName] = function componentWillUpdate() {
+ var _this2 = this;
+
+ // We are hot reloading!
+ if (this.version !== version) {
+ this.version = version;
+ this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their
+ // listeners will be lost when we unsubscribe. Unfortunately, by copying over all
+ // listeners, this does mean that the old versions of connected descendants will still be
+ // notified of state changes; however, their onStateChange function is a no-op so this
+ // isn't a huge deal.
+
+ var oldListeners = [];
+
+ if (this.subscription) {
+ oldListeners = this.subscription.listeners.get();
+ this.subscription.tryUnsubscribe();
+ }
+
+ this.initSubscription();
+
+ if (shouldHandleStateChanges) {
+ this.subscription.trySubscribe();
+ oldListeners.forEach(function (listener) {
+ return _this2.subscription.listeners.subscribe(listener);
+ });
+ }
+ }
+ };
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics___default()(Connect, WrappedComponent);
+ };
+ }
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5)))
+
+ /***/ }),
+ /* 312 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (immutable) */ __webpack_exports__["a"] = wrapMapToPropsConstant;
+ /* unused harmony export getDependsOnOwnProps */
+ /* harmony export (immutable) */ __webpack_exports__["b"] = wrapMapToPropsFunc;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__ = __webpack_require__(313);
+
+ function wrapMapToPropsConstant(getConstant) {
+ return function initConstantSelector(dispatch, options) {
+ var constant = getConstant(dispatch, options);
+
+ function constantSelector() {
+ return constant;
+ }
+
+ constantSelector.dependsOnOwnProps = false;
+ return constantSelector;
+ };
+ } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args
+ // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine
+ // whether mapToProps needs to be invoked when props have changed.
+ //
+ // A length of one signals that mapToProps does not depend on props from the parent component.
+ // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and
+ // therefore not reporting its length accurately..
+
+ function getDependsOnOwnProps(mapToProps) {
+ return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;
+ } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,
+ // this function wraps mapToProps in a proxy function which does several things:
+ //
+ // * Detects whether the mapToProps function being called depends on props, which
+ // is used by selectorFactory to decide if it should reinvoke on props changes.
+ //
+ // * On first call, handles mapToProps if returns another function, and treats that
+ // new function as the true mapToProps for subsequent calls.
+ //
+ // * On first call, verifies the first result is a plain object, in order to warn
+ // the developer that their mapToProps function is not returning a valid result.
+ //
+
+ function wrapMapToPropsFunc(mapToProps, methodName) {
+ return function initProxySelector(dispatch, _ref) {
+ var displayName = _ref.displayName;
+
+ var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
+ return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);
+ }; // allow detectFactoryAndVerify to get ownProps
+
+
+ proxy.dependsOnOwnProps = true;
+
+ proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
+ proxy.mapToProps = mapToProps;
+ proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
+ var props = proxy(stateOrDispatch, ownProps);
+
+ if (typeof props === 'function') {
+ proxy.mapToProps = props;
+ proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
+ props = proxy(stateOrDispatch, ownProps);
+ }
+
+ if (process.env.NODE_ENV !== 'production') Object(__WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__["a" /* default */])(props, displayName, methodName);
+ return props;
+ };
+
+ return proxy;
+ };
+ }
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5)))
+
+ /***/ }),
+ /* 313 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = verifyPlainObject;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isPlainObject__ = __webpack_require__(1112);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warning__ = __webpack_require__(168);
+
+
+ function verifyPlainObject(value, displayName, methodName) {
+ if (!Object(__WEBPACK_IMPORTED_MODULE_0__isPlainObject__["a" /* default */])(value)) {
+ Object(__WEBPACK_IMPORTED_MODULE_1__warning__["a" /* default */])(methodName + "() in " + displayName + " must return a plain object. Instead received " + value + ".");
+ }
+ }
+
+ /***/ }),
+ /* 314 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports["default"] = {
+ noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided
+ gentle: { stiffness: 120, damping: 14 },
+ wobbly: { stiffness: 180, damping: 12 },
+ stiff: { stiffness: 210, damping: 20 }
+ };
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 315 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var getClass = exports.getClass = function getClass(props, doing) {
+ var dropClass = props.dropClass,
+ dropOverClass = props.dropOverClass,
+ dragClass = props.dragClass,
+ dragingClass = props.dragingClass,
+ type = props.type;
+
+
+ var verticalObj = {
+ drop: {}, drag: {}
+ };
+ verticalObj.drop['u-drop ' + dropClass] = true;
+ verticalObj.drop['u-droping ' + dropOverClass] = doing;
+ verticalObj.drag['u-drag ' + dragClass] = true;
+ verticalObj.drag['u-draging ' + dragingClass] = doing;
+
+ var horizontalObj = {
+ drop: {}, drag: {}
+ };
+ horizontalObj.drop['u-drop u-drop-horizontal ' + dropClass] = true;
+ horizontalObj.drop['u-droping u-droping-horizontal ' + dropOverClass] = doing;
+ horizontalObj.drag['u-drag u-drag-horizontal ' + dragClass] = true;
+ horizontalObj.drag['u-draging u-draging-horizontal ' + dragingClass] = doing;
+
+ switch (type) {
+ case 'vertical':
+ return verticalObj;
+ break;
+ case 'horizontal':
+ return horizontalObj;
+ break;
+ case 'betweenVertical':
+ return verticalObj;
+ break;
+ case 'betweenHorizontal':
+ return horizontalObj;
+ break;
+ }
+ };
+
+ /***/ }),
+ /* 316 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ exports.__esModule = true;
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _lodash = __webpack_require__(20);
+
+ var _lodash2 = _interopRequireDefault(_lodash);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _utils = __webpack_require__(75);
+
+ var _GridItem = __webpack_require__(1127);
+
+ var _GridItem2 = _interopRequireDefault(_GridItem);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ // End Types
+
+ /**
+ * A reactive, fluid grid layout with draggable, resizable components.
+ */
+
+ // Types
+ var ReactGridLayout = function (_React$Component) {
+ _inherits(ReactGridLayout, _React$Component);
+
+ // TODO publish internal ReactClass displayName transform
+ function ReactGridLayout(props, context) {
+ _classCallCheck(this, ReactGridLayout);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
+
+ _initialiseProps.call(_this);
+
+ (0, _utils.autoBindHandlers)(_this, ["onDragStart", "onDrag", "onDragStop", "onResizeStart", "onResize", "onResizeStop"]);
+ return _this;
+ }
+
+ ReactGridLayout.prototype.componentDidMount = function componentDidMount() {
+ this.setState({ mounted: true });
+ // Possibly call back with layout on mount. This should be done after correcting the layout width
+ // to ensure we don't rerender with the wrong width.
+ this.onLayoutMaybeChanged(this.state.layout, this.props.layout);
+ };
+
+ ReactGridLayout.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ var newLayoutBase = void 0;
+ // Legacy support for compactType
+ // Allow parent to set layout directly.
+ if (!(0, _lodash2.default)(nextProps.layout, this.props.layout) || nextProps.compactType !== this.props.compactType) {
+ newLayoutBase = nextProps.layout;
+ } else if (!(0, _utils.childrenEqual)(this.props.children, nextProps.children)) {
+ // If children change, also regenerate the layout. Use our state
+ // as the base in case because it may be more up to date than
+ // what is in props.
+ newLayoutBase = this.state.layout;
+ }
+
+ // We need to regenerate the layout.
+ if (newLayoutBase) {
+ var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, this.compactType(nextProps));
+ var _oldLayout = this.state.layout;
+ this.setState({ layout: newLayout });
+ this.onLayoutMaybeChanged(newLayout, _oldLayout);
+ }
+ };
+
+ /**
+ * Calculates a pixel value for the container.
+ * @return {String} Container height in pixels.
+ */
+
+
+ ReactGridLayout.prototype.containerHeight = function containerHeight() {
+ if (!this.props.autoSize) return;
+ var nbRow = (0, _utils.bottom)(this.state.layout);
+ var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];
+ return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + "px";
+ };
+
+ ReactGridLayout.prototype.compactType = function compactType(props) {
+ if (!props) props = this.props;
+ return props.verticalCompact === false ? null : props.compactType;
+ };
+
+ /**
+ * When dragging starts
+ * @param {String} i Id of the child
+ * @param {Number} x X position of the move
+ * @param {Number} y Y position of the move
+ * @param {Event} e The mousedown event
+ * @param {Element} node The current dragging DOM element
+ */
+
+
+ ReactGridLayout.prototype.onDragStart = function onDragStart(i, x, y, _ref) {
+ var e = _ref.e,
+ node = _ref.node;
+ var layout = this.state.layout;
+
+ var l = (0, _utils.getLayoutItem)(layout, i);
+ if (!l) return;
+
+ this.setState({
+ oldDragItem: (0, _utils.cloneLayoutItem)(l),
+ oldLayout: this.state.layout
+ });
+
+ return this.props.onDragStart(layout, l, l, null, e, node);
+ };
+
+ /**
+ * Each drag movement create a new dragelement and move the element to the dragged location
+ * @param {String} i Id of the child
+ * @param {Number} x X position of the move
+ * @param {Number} y Y position of the move
+ * @param {Event} e The mousedown event
+ * @param {Element} node The current dragging DOM element
+ */
+
+
+ ReactGridLayout.prototype.onDrag = function onDrag(i, x, y, _ref2) {
+ var e = _ref2.e,
+ node = _ref2.node;
+ var oldDragItem = this.state.oldDragItem;
+ var layout = this.state.layout;
+ var cols = this.props.cols;
+
+ var l = (0, _utils.getLayoutItem)(layout, i);
+ if (!l) return;
+
+ // Create placeholder (display only)
+ var placeholder = {
+ w: l.w,
+ h: l.h,
+ x: l.x,
+ y: l.y,
+ placeholder: true,
+ i: i
+ };
+
+ // Move the element to the dragged location.
+ var isUserAction = true;
+ layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, this.props.preventCollision, this.compactType(), cols);
+
+ this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);
+
+ this.setState({
+ layout: (0, _utils.compact)(layout, this.compactType(), cols),
+ activeDrag: placeholder
+ });
+ };
+
+ /**
+ * When dragging stops, figure out which position the element is closest to and update its x and y.
+ * @param {String} i Index of the child.
+ * @param {Number} x X position of the move
+ * @param {Number} y Y position of the move
+ * @param {Event} e The mousedown event
+ * @param {Element} node The current dragging DOM element
+ */
+
+
+ ReactGridLayout.prototype.onDragStop = function onDragStop(i, x, y, _ref3) {
+ var e = _ref3.e,
+ node = _ref3.node;
+ var oldDragItem = this.state.oldDragItem;
+ var layout = this.state.layout;
+ var _props = this.props,
+ cols = _props.cols,
+ preventCollision = _props.preventCollision;
+
+ var l = (0, _utils.getLayoutItem)(layout, i);
+ if (!l) return;
+
+ // Move the element here
+ var isUserAction = true;
+ layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, this.compactType(), cols);
+
+ this.props.onDragStop(layout, oldDragItem, l, null, e, node);
+
+ // Set state
+ var newLayout = (0, _utils.compact)(layout, this.compactType(), cols);
+ var oldLayout = this.state.oldLayout;
+
+ this.setState({
+ activeDrag: null,
+ layout: newLayout,
+ oldDragItem: null,
+ oldLayout: null
+ });
+
+ this.onLayoutMaybeChanged(newLayout, oldLayout);
+ };
+
+ ReactGridLayout.prototype.onLayoutMaybeChanged = function onLayoutMaybeChanged(newLayout, oldLayout) {
+ if (!oldLayout) oldLayout = this.state.layout;
+ if (!(0, _lodash2.default)(oldLayout, newLayout)) {
+ this.props.onLayoutChange(newLayout);
+ }
+ };
+
+ ReactGridLayout.prototype.onResizeStart = function onResizeStart(i, w, h, _ref4) {
+ var e = _ref4.e,
+ node = _ref4.node;
+ var layout = this.state.layout;
+
+ var l = (0, _utils.getLayoutItem)(layout, i);
+ if (!l) return;
+
+ this.setState({
+ oldResizeItem: (0, _utils.cloneLayoutItem)(l),
+ oldLayout: this.state.layout
+ });
+
+ this.props.onResizeStart(layout, l, l, null, e, node);
+ };
+
+ ReactGridLayout.prototype.onResize = function onResize(i, w, h, _ref5) {
+ var e = _ref5.e,
+ node = _ref5.node;
+ var _state = this.state,
+ layout = _state.layout,
+ oldResizeItem = _state.oldResizeItem;
+ var _props2 = this.props,
+ cols = _props2.cols,
+ preventCollision = _props2.preventCollision;
+
+ var l = (0, _utils.getLayoutItem)(layout, i);
+ if (!l) return;
+
+ // Something like quad tree should be used
+ // to find collisions faster
+ var hasCollisions = void 0;
+ if (preventCollision) {
+ var collisions = (0, _utils.getAllCollisions)(layout, _extends({}, l, { w: w, h: h })).filter(function (layoutItem) {
+ return layoutItem.i !== l.i;
+ });
+ hasCollisions = collisions.length > 0;
+
+ // If we're colliding, we need adjust the placeholder.
+ if (hasCollisions) {
+ // adjust w && h to maximum allowed space
+ var leastX = Infinity,
+ leastY = Infinity;
+ collisions.forEach(function (layoutItem) {
+ if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);
+ if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);
+ });
+
+ if (Number.isFinite(leastX)) l.w = leastX - l.x;
+ if (Number.isFinite(leastY)) l.h = leastY - l.y;
+ }
+ }
+
+ if (!hasCollisions) {
+ // Set new width and height.
+ l.w = w;
+ l.h = h;
+ }
+
+ // Create placeholder element (display only)
+ var placeholder = {
+ w: l.w,
+ h: l.h,
+ x: l.x,
+ y: l.y,
+ static: true,
+ i: i
+ };
+
+ this.props.onResize(layout, oldResizeItem, l, placeholder, e, node);
+
+ // Re-compact the layout and set the drag placeholder.
+ this.setState({
+ layout: (0, _utils.compact)(layout, this.compactType(), cols),
+ activeDrag: placeholder
+ });
+ };
+
+ ReactGridLayout.prototype.onResizeStop = function onResizeStop(i, w, h, _ref6) {
+ var e = _ref6.e,
+ node = _ref6.node;
+ var _state2 = this.state,
+ layout = _state2.layout,
+ oldResizeItem = _state2.oldResizeItem;
+ var cols = this.props.cols;
+
+ var l = (0, _utils.getLayoutItem)(layout, i);
+
+ this.props.onResizeStop(layout, oldResizeItem, l, null, e, node);
+
+ // Set state
+ var newLayout = (0, _utils.compact)(layout, this.compactType(), cols);
+ var oldLayout = this.state.oldLayout;
+
+ this.setState({
+ activeDrag: null,
+ layout: newLayout,
+ oldResizeItem: null,
+ oldLayout: null
+ });
+
+ this.onLayoutMaybeChanged(newLayout, oldLayout);
+ };
+
+ /**
+ * Create a placeholder object.
+ * @return {Element} Placeholder div.
+ */
+
+
+ ReactGridLayout.prototype.placeholder = function placeholder() {
+ var activeDrag = this.state.activeDrag;
+
+ if (!activeDrag) return null;
+ var _props3 = this.props,
+ width = _props3.width,
+ cols = _props3.cols,
+ margin = _props3.margin,
+ containerPadding = _props3.containerPadding,
+ rowHeight = _props3.rowHeight,
+ maxRows = _props3.maxRows,
+ useCSSTransforms = _props3.useCSSTransforms;
+
+ // {...this.state.activeDrag} is pretty slow, actually
+
+ return _react2.default.createElement(
+ _GridItem2.default,
+ {
+ w: activeDrag.w,
+ h: activeDrag.h,
+ x: activeDrag.x,
+ y: activeDrag.y,
+ i: activeDrag.i,
+ className: "react-grid-placeholder",
+ containerWidth: width,
+ cols: cols,
+ margin: margin,
+ containerPadding: containerPadding || margin,
+ maxRows: maxRows,
+ rowHeight: rowHeight,
+ isDraggable: false,
+ isResizable: false,
+ useCSSTransforms: useCSSTransforms
+ },
+ _react2.default.createElement("div", null)
+ );
+ };
+
+ /**
+ * Given a grid item, set its style attributes & surround in a .
+ * @param {Element} child React element.
+ * @return {Element} Element wrapped in draggable and properly placed.
+ */
+
+
+ ReactGridLayout.prototype.processGridItem = function processGridItem(child) {
+ if (!child || !child.key) return;
+ var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));
+ if (!l) return null;
+ var _props4 = this.props,
+ width = _props4.width,
+ cols = _props4.cols,
+ margin = _props4.margin,
+ containerPadding = _props4.containerPadding,
+ rowHeight = _props4.rowHeight,
+ maxRows = _props4.maxRows,
+ isDraggable = _props4.isDraggable,
+ isResizable = _props4.isResizable,
+ useCSSTransforms = _props4.useCSSTransforms,
+ draggableCancel = _props4.draggableCancel,
+ draggableHandle = _props4.draggableHandle;
+ var mounted = this.state.mounted;
+
+ // Parse 'static'. Any properties defined directly on the grid item will take precedence.
+
+ var draggable = Boolean(!l.static && isDraggable && (l.isDraggable || l.isDraggable == null));
+ var resizable = Boolean(!l.static && isResizable && (l.isResizable || l.isResizable == null));
+
+ return _react2.default.createElement(
+ _GridItem2.default,
+ {
+ containerWidth: width,
+ cols: cols,
+ margin: margin,
+ containerPadding: containerPadding || margin,
+ maxRows: maxRows,
+ rowHeight: rowHeight,
+ cancel: draggableCancel,
+ handle: draggableHandle,
+ onDragStop: this.onDragStop,
+ onDragStart: this.onDragStart,
+ onDrag: this.onDrag,
+ onResizeStart: this.onResizeStart,
+ onResize: this.onResize,
+ onResizeStop: this.onResizeStop,
+ isDraggable: draggable,
+ isResizable: resizable,
+ useCSSTransforms: useCSSTransforms && mounted,
+ usePercentages: !mounted,
+ w: l.w,
+ h: l.h,
+ x: l.x,
+ y: l.y,
+ i: l.i,
+ minH: l.minH,
+ minW: l.minW,
+ maxH: l.maxH,
+ maxW: l.maxW,
+ "static": l.static
+ },
+ child
+ );
+ };
+
+ ReactGridLayout.prototype.render = function render() {
+ var _this2 = this;
+
+ var _props5 = this.props,
+ className = _props5.className,
+ style = _props5.style;
+
+
+ var mergedClassName = (0, _classnames2.default)("react-grid-layout", className);
+ var mergedStyle = _extends({
+ height: this.containerHeight()
+ }, style);
+
+ return _react2.default.createElement(
+ "div",
+ { className: mergedClassName, style: mergedStyle },
+ _react2.default.Children.map(this.props.children, function (child) {
+ return _this2.processGridItem(child);
+ }),
+ this.placeholder()
+ );
+ };
+
+ return ReactGridLayout;
+ }(_react2.default.Component);
+
+ ReactGridLayout.displayName = "ReactGridLayout";
+ ReactGridLayout.propTypes = {
+ //
+ // Basic props
+ //
+ className: _propTypes2.default.string,
+ style: _propTypes2.default.object,
+
+ // This can be set explicitly. If it is not set, it will automatically
+ // be set to the container width. Note that resizes will *not* cause this to adjust.
+ // If you need that behavior, use WidthProvider.
+ width: _propTypes2.default.number,
+
+ // If true, the container height swells and contracts to fit contents
+ autoSize: _propTypes2.default.bool,
+ // # of cols.
+ cols: _propTypes2.default.number,
+
+ // A selector that will not be draggable.
+ draggableCancel: _propTypes2.default.string,
+ // A selector for the draggable handler
+ draggableHandle: _propTypes2.default.string,
+
+ // Deprecated
+ verticalCompact: function verticalCompact(props) {
+ if (props.verticalCompact === false && process.env.NODE_ENV !== "production") {
+ console.warn(
+ // eslint-disable-line no-console
+ "`verticalCompact` on is deprecated and will be removed soon. " + 'Use `compactType`: "horizontal" | "vertical" | null.');
+ }
+ },
+ // Choose vertical or hotizontal compaction
+ compactType: _propTypes2.default.oneOf(["vertical", "horizontal"]),
+
+ // layout is an array of object with the format:
+ // {x: Number, y: Number, w: Number, h: Number, i: String}
+ layout: function layout(props) {
+ var layout = props.layout;
+ // I hope you're setting the data-grid property on the grid items
+ if (layout === undefined) return;
+ (0, _utils.validateLayout)(layout, "layout");
+ },
+
+ //
+ // Grid Dimensions
+ //
+
+ // Margin between items [x, y] in px
+ margin: _propTypes2.default.arrayOf(_propTypes2.default.number),
+ // Padding inside the container [x, y] in px
+ containerPadding: _propTypes2.default.arrayOf(_propTypes2.default.number),
+ // Rows have a static height, but you can change this based on breakpoints if you like
+ rowHeight: _propTypes2.default.number,
+ // Default Infinity, but you can specify a max here if you like.
+ // Note that this isn't fully fleshed out and won't error if you specify a layout that
+ // extends beyond the row capacity. It will, however, not allow users to drag/resize
+ // an item past the barrier. They can push items beyond the barrier, though.
+ // Intentionally not documented for this reason.
+ maxRows: _propTypes2.default.number,
+
+ //
+ // Flags
+ //
+ isDraggable: _propTypes2.default.bool,
+ isResizable: _propTypes2.default.bool,
+ // If true, grid items won't change position when being dragged over.
+ preventCollision: _propTypes2.default.bool,
+ // Use CSS transforms instead of top/left
+ useCSSTransforms: _propTypes2.default.bool,
+
+ //
+ // Callbacks
+ //
+
+ // Callback so you can save the layout. Calls after each drag & resize stops.
+ onLayoutChange: _propTypes2.default.func,
+
+ // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).
+ // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.
+ onDragStart: _propTypes2.default.func,
+ // Calls on each drag movement.
+ onDrag: _propTypes2.default.func,
+ // Calls when drag is complete.
+ onDragStop: _propTypes2.default.func,
+ //Calls when resize starts.
+ onResizeStart: _propTypes2.default.func,
+ // Calls when resize movement happens.
+ onResize: _propTypes2.default.func,
+ // Calls when resize is complete.
+ onResizeStop: _propTypes2.default.func,
+
+ //
+ // Other validations
+ //
+
+ // Children must not have duplicate keys.
+ children: function children(props, propName) {
+ var children = props[propName];
+
+ // Check children keys for duplicates. Throw if found.
+ var keys = {};
+ _react2.default.Children.forEach(children, function (child) {
+ if (keys[child.key]) {
+ throw new Error('Duplicate child key "' + child.key + '" found! This will cause problems in ReactGridLayout.');
+ }
+ keys[child.key] = true;
+ });
+ }
+ };
+ ReactGridLayout.defaultProps = {
+ autoSize: true,
+ cols: 12,
+ className: "",
+ style: {},
+ draggableHandle: "",
+ draggableCancel: "",
+ containerPadding: null,
+ rowHeight: 150,
+ maxRows: Infinity, // infinite vertical growth
+ layout: [],
+ margin: [10, 10],
+ isDraggable: true,
+ isResizable: true,
+ useCSSTransforms: true,
+ verticalCompact: true,
+ compactType: "vertical",
+ preventCollision: false,
+ onLayoutChange: _utils.noop,
+ onDragStart: _utils.noop,
+ onDrag: _utils.noop,
+ onDragStop: _utils.noop,
+ onResizeStart: _utils.noop,
+ onResize: _utils.noop,
+ onResizeStop: _utils.noop
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ this.state = {
+ activeDrag: null,
+ layout: (0, _utils.synchronizeLayoutWithChildren)(this.props.layout, this.props.children, this.props.cols,
+ // Legacy support for verticalCompact: false
+ this.compactType()),
+ mounted: false,
+ oldDragItem: null,
+ oldLayout: null,
+ oldResizeItem: null
+ };
+ };
+
+ exports.default = ReactGridLayout;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 317 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = void 0;
+
+ var _react = _interopRequireDefault(__webpack_require__(0));
+
+ var _propTypes = _interopRequireDefault(__webpack_require__(1));
+
+ var _reactDraggable = __webpack_require__(1129);
+
+ var _utils = __webpack_require__(1133);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ var Resizable =
+ /*#__PURE__*/
+ function (_React$Component) {
+ _inheritsLoose(Resizable, _React$Component);
+
+ function Resizable() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
+
+ _defineProperty(_assertThisInitialized(_this), "state", {
+ slackW: 0,
+ slackH: 0
+ });
+
+ return _this;
+ }
+
+ var _proto = Resizable.prototype;
+
+ _proto.lockAspectRatio = function lockAspectRatio(width, height, aspectRatio) {
+ height = width / aspectRatio;
+ width = height * aspectRatio;
+ return [width, height];
+ } // If you do this, be careful of constraints
+ ;
+
+ _proto.runConstraints = function runConstraints(width, height) {
+ var _ref = [this.props.minConstraints, this.props.maxConstraints],
+ min = _ref[0],
+ max = _ref[1];
+ if (!min && !max) return [width, height]; // Fit width & height to aspect ratio
+
+ if (this.props.lockAspectRatio) {
+ if (height === this.props.height) {
+ var ratio = this.props.width / this.props.height;
+ height = width / ratio;
+ width = height * ratio;
+ } else {
+ // Take into account vertical resize with N/S handles on locked aspect
+ // ratio. Calculate the change height-first, instead of width-first
+ var _ratio = this.props.height / this.props.width;
+
+ width = height / _ratio;
+ height = width * _ratio;
+ }
+ }
+
+ var oldW = width,
+ oldH = height; // Add slack to the values used to calculate bound position. This will ensure that if
+ // we start removing slack, the element won't react to it right away until it's been
+ // completely removed.
+
+ var _this$state = this.state,
+ slackW = _this$state.slackW,
+ slackH = _this$state.slackH;
+ width += slackW;
+ height += slackH;
+
+ if (min) {
+ width = Math.max(min[0], width);
+ height = Math.max(min[1], height);
+ }
+
+ if (max) {
+ width = Math.min(max[0], width);
+ height = Math.min(max[1], height);
+ } // If the numbers changed, we must have introduced some slack. Record it for the next iteration.
+
+
+ slackW += oldW - width;
+ slackH += oldH - height;
+
+ if (slackW !== this.state.slackW || slackH !== this.state.slackH) {
+ this.setState({
+ slackW: slackW,
+ slackH: slackH
+ });
+ }
+
+ return [width, height];
+ }
+ /**
+ * Wrapper around drag events to provide more useful data.
+ *
+ * @param {String} handlerName Handler name to wrap.
+ * @return {Function} Handler function.
+ */
+ ;
+
+ _proto.resizeHandler = function resizeHandler(handlerName, axis) {
+ var _this2 = this;
+
+ return function (e, _ref2) {
+ var node = _ref2.node,
+ deltaX = _ref2.deltaX,
+ deltaY = _ref2.deltaY;
+ deltaX /= _this2.props.transformScale;
+ deltaY /= _this2.props.transformScale; // Axis restrictions
+
+ var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && ['n', 's'].indexOf(axis) === -1;
+ var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && ['e', 'w'].indexOf(axis) === -1; // reverse delta if using top or left drag handles
+
+ if (canDragX && axis[axis.length - 1] === 'w') {
+ deltaX = -deltaX;
+ }
+
+ if (canDragY && axis[0] === 'n') {
+ deltaY = -deltaY;
+ } // Update w/h
+
+
+ var width = _this2.props.width + (canDragX ? deltaX : 0);
+ var height = _this2.props.height + (canDragY ? deltaY : 0); // Early return if no change
+
+ var widthChanged = width !== _this2.props.width,
+ heightChanged = height !== _this2.props.height;
+ if (handlerName === 'onResize' && !widthChanged && !heightChanged) return;
+
+ var _this2$runConstraints = _this2.runConstraints(width, height);
+
+ width = _this2$runConstraints[0];
+ height = _this2$runConstraints[1];
+ // Set the appropriate state for this handler.
+ var newState = {};
+
+ if (handlerName === 'onResizeStart') {// nothing
+ } else if (handlerName === 'onResizeStop') {
+ newState.slackW = newState.slackH = 0;
+ } else {
+ // Early return if no change after constraints
+ if (width === _this2.props.width && height === _this2.props.height) return;
+ }
+
+ var hasCb = typeof _this2.props[handlerName] === 'function';
+
+ if (hasCb) {
+ // $FlowIgnore isn't refining this correctly to SyntheticEvent
+ if (typeof e.persist === 'function') e.persist();
+
+ _this2.setState(newState, function () {
+ return _this2.props[handlerName](e, {
+ node: node,
+ size: {
+ width: width,
+ height: height
+ },
+ handle: axis
+ });
+ });
+ } else {
+ _this2.setState(newState);
+ }
+ };
+ };
+
+ _proto.renderResizeHandle = function renderResizeHandle(resizeHandle) {
+ var handle = this.props.handle;
+
+ if (handle) {
+ if (typeof handle === 'function') {
+ return handle(resizeHandle);
+ }
+
+ return handle;
+ }
+
+ return _react.default.createElement("span", {
+ className: "react-resizable-handle react-resizable-handle-" + resizeHandle
+ });
+ };
+
+ _proto.render = function render() {
+ var _this3 = this;
+
+ // eslint-disable-next-line no-unused-vars
+ var _this$props = this.props,
+ children = _this$props.children,
+ draggableOpts = _this$props.draggableOpts,
+ width = _this$props.width,
+ height = _this$props.height,
+ handleSize = _this$props.handleSize,
+ lockAspectRatio = _this$props.lockAspectRatio,
+ axis = _this$props.axis,
+ minConstraints = _this$props.minConstraints,
+ maxConstraints = _this$props.maxConstraints,
+ onResize = _this$props.onResize,
+ onResizeStop = _this$props.onResizeStop,
+ onResizeStart = _this$props.onResizeStart,
+ resizeHandles = _this$props.resizeHandles,
+ transformScale = _this$props.transformScale,
+ p = _objectWithoutPropertiesLoose(_this$props, ["children", "draggableOpts", "width", "height", "handleSize", "lockAspectRatio", "axis", "minConstraints", "maxConstraints", "onResize", "onResizeStop", "onResizeStart", "resizeHandles", "transformScale"]);
+
+ var className = p.className ? p.className + " react-resizable" : 'react-resizable'; // What we're doing here is getting the child of this element, and cloning it with this element's props.
+ // We are then defining its children as:
+ // Its original children (resizable's child's children), and
+ // One or more draggable handles.
+
+ return (0, _utils.cloneElement)(children, _objectSpread({}, p, {
+ className: className,
+ children: [children.props.children, resizeHandles.map(function (h) {
+ return _react.default.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {
+ key: "resizableHandle-" + h,
+ onStop: _this3.resizeHandler('onResizeStop', h),
+ onStart: _this3.resizeHandler('onResizeStart', h),
+ onDrag: _this3.resizeHandler('onResize', h)
+ }), _this3.renderResizeHandle(h));
+ })]
+ }));
+ };
+
+ return Resizable;
+ }(_react.default.Component);
+
+ exports.default = Resizable;
+
+ _defineProperty(Resizable, "propTypes", {
+ //
+ // Required Props
+ //
+ // Require that one and only one child be present.
+ children: _propTypes.default.element.isRequired,
+ // Initial w/h
+ width: _propTypes.default.number.isRequired,
+ height: _propTypes.default.number.isRequired,
+ //
+ // Optional props
+ //
+ // Custom resize handle
+ handle: _propTypes.default.element,
+ // If you change this, be sure to update your css
+ handleSize: _propTypes.default.array,
+ // Defines which resize handles should be rendered (default: 'se')
+ // Allows for any combination of:
+ // 's' - South handle (bottom-center)
+ // 'w' - West handle (left-center)
+ // 'e' - East handle (right-center)
+ // 'n' - North handle (top-center)
+ // 'sw' - Southwest handle (bottom-left)
+ // 'nw' - Northwest handle (top-left)
+ // 'se' - Southeast handle (bottom-right)
+ // 'ne' - Northeast handle (top-center)
+ resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),
+ transformScale: _propTypes.default.number,
+ // If true, will only allow width/height to move in lockstep
+ lockAspectRatio: _propTypes.default.bool,
+ // Restricts resizing to a particular axis (default: 'both')
+ // 'both' - allows resizing by width or height
+ // 'x' - only allows the width to be changed
+ // 'y' - only allows the height to be changed
+ // 'none' - disables resizing altogether
+ axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
+ // Min/max size
+ minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),
+ maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),
+ // Callbacks
+ onResizeStop: _propTypes.default.func,
+ onResizeStart: _propTypes.default.func,
+ onResize: _propTypes.default.func,
+ // These will be passed wholesale to react-draggable's DraggableCore
+ draggableOpts: _propTypes.default.object
+ });
+
+ _defineProperty(Resizable, "defaultProps", {
+ handleSize: [20, 20],
+ lockAspectRatio: false,
+ axis: 'both',
+ minConstraints: [20, 20],
+ maxConstraints: [Infinity, Infinity],
+ resizeHandles: ['se'],
+ transformScale: 1
+ });
+
+ /***/ }),
+ /* 318 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.getBoundPosition = getBoundPosition;
+ exports.snapToGrid = snapToGrid;
+ exports.canDragX = canDragX;
+ exports.canDragY = canDragY;
+ exports.getControlPosition = getControlPosition;
+ exports.createCoreData = createCoreData;
+ exports.createDraggableData = createDraggableData;
+
+ var _shims = __webpack_require__(108);
+
+ var _domFns = __webpack_require__(176);
+
+ function getBoundPosition(draggable
+ /*: Draggable*/
+ , x
+ /*: number*/
+ , y
+ /*: number*/
+ )
+ /*: [number, number]*/
+ {
+ // If no bounds, short-circuit and move on
+ if (!draggable.props.bounds) return [x, y]; // Clone new bounds
+
+ var bounds = draggable.props.bounds;
+ bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
+ var node = findDOMNode(draggable);
+
+ if (typeof bounds === 'string') {
+ var ownerDocument = node.ownerDocument;
+ var ownerWindow = ownerDocument.defaultView;
+ var boundNode;
+
+ if (bounds === 'parent') {
+ boundNode = node.parentNode;
+ } else {
+ boundNode = ownerDocument.querySelector(bounds);
+ }
+
+ if (!(boundNode instanceof ownerWindow.HTMLElement)) {
+ throw new Error('Bounds selector "' + bounds + '" could not find an element.');
+ }
+
+ var nodeStyle = ownerWindow.getComputedStyle(node);
+ var boundNodeStyle = ownerWindow.getComputedStyle(boundNode); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
+
+ bounds = {
+ left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
+ top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
+ right: (0, _domFns.innerWidth)(boundNode) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
+ bottom: (0, _domFns.innerHeight)(boundNode) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
+ };
+ } // Keep x and y below right and bottom limits...
+
+
+ if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
+ if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
+
+ if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
+ if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
+ return [x, y];
+ }
+
+ function snapToGrid(grid
+ /*: [number, number]*/
+ , pendingX
+ /*: number*/
+ , pendingY
+ /*: number*/
+ )
+ /*: [number, number]*/
+ {
+ var x = Math.round(pendingX / grid[0]) * grid[0];
+ var y = Math.round(pendingY / grid[1]) * grid[1];
+ return [x, y];
+ }
+
+ function canDragX(draggable
+ /*: Draggable*/
+ )
+ /*: boolean*/
+ {
+ return draggable.props.axis === 'both' || draggable.props.axis === 'x';
+ }
+
+ function canDragY(draggable
+ /*: Draggable*/
+ )
+ /*: boolean*/
+ {
+ return draggable.props.axis === 'both' || draggable.props.axis === 'y';
+ } // Get {x, y} positions from event.
+
+
+ function getControlPosition(e
+ /*: MouseTouchEvent*/
+ , touchIdentifier
+ /*: ?number*/
+ , draggableCore
+ /*: DraggableCore*/
+ )
+ /*: ?ControlPosition*/
+ {
+ var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
+ if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
+
+ var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
+
+ var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
+ return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
+ } // Create an data object exposed by 's events
+
+
+ function createCoreData(draggable
+ /*: DraggableCore*/
+ , x
+ /*: number*/
+ , y
+ /*: number*/
+ )
+ /*: DraggableData*/
+ {
+ var state = draggable.state;
+ var isStart = !(0, _shims.isNum)(state.lastX);
+ var node = findDOMNode(draggable);
+
+ if (isStart) {
+ // If this is our first move, use the x and y as last coords.
+ return {
+ node: node,
+ deltaX: 0,
+ deltaY: 0,
+ lastX: x,
+ lastY: y,
+ x: x,
+ y: y
+ };
+ } else {
+ // Otherwise calculate proper values.
+ return {
+ node: node,
+ deltaX: x - state.lastX,
+ deltaY: y - state.lastY,
+ lastX: state.lastX,
+ lastY: state.lastY,
+ x: x,
+ y: y
+ };
+ }
+ } // Create an data exposed by 's events
+
+
+ function createDraggableData(draggable
+ /*: Draggable*/
+ , coreData
+ /*: DraggableData*/
+ )
+ /*: DraggableData*/
+ {
+ var scale = draggable.props.scale;
+ return {
+ node: coreData.node,
+ x: draggable.state.x + coreData.deltaX / scale,
+ y: draggable.state.y + coreData.deltaY / scale,
+ deltaX: coreData.deltaX / scale,
+ deltaY: coreData.deltaY / scale,
+ lastX: draggable.state.x,
+ lastY: draggable.state.y
+ };
+ } // A lot faster than stringify/parse
+
+
+ function cloneBounds(bounds
+ /*: Bounds*/
+ )
+ /*: Bounds*/
+ {
+ return {
+ left: bounds.left,
+ top: bounds.top,
+ right: bounds.right,
+ bottom: bounds.bottom
+ };
+ }
+
+ function findDOMNode(draggable
+ /*: Draggable | DraggableCore*/
+ )
+ /*: HTMLElement*/
+ {
+ var node = draggable.findDOMNode();
+
+ if (!node) {
+ throw new Error(': Unmounted during event!');
+ } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
+
+
+ return node;
+ }
+
+ /***/ }),
+ /* 319 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = log;
+
+ /*eslint no-console:0*/
+ function log() {
+ var _console;
+
+ if (undefined) (_console = console).log.apply(_console, arguments);
+ }
+
+ /***/ }),
+ /* 320 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.getBreakpointFromWidth = getBreakpointFromWidth;
+ exports.getColsFromBreakpoint = getColsFromBreakpoint;
+ exports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;
+ exports.sortBreakpoints = sortBreakpoints;
+
+ var _utils = __webpack_require__(75);
+
+ /**
+ * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).
+ *
+ * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})
+ * @param {Number} width Screen width.
+ * @return {String} Highest breakpoint that is less than width.
+ */
+ function getBreakpointFromWidth(breakpoints, width) {
+ var sorted = sortBreakpoints(breakpoints);
+ var matching = sorted[0];
+ for (var i = 1, len = sorted.length; i < len; i++) {
+ var breakpointName = sorted[i];
+ if (width > breakpoints[breakpointName]) matching = breakpointName;
+ }
+ return matching;
+ }
+
+ /**
+ * Given a breakpoint, get the # of cols set for it.
+ * @param {String} breakpoint Breakpoint name.
+ * @param {Object} cols Map of breakpoints to cols.
+ * @return {Number} Number of cols.
+ */
+
+
+ function getColsFromBreakpoint(breakpoint, cols) {
+ if (!cols[breakpoint]) {
+ throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint " + breakpoint + " is missing!");
+ }
+ return cols[breakpoint];
+ }
+
+ /**
+ * Given existing layouts and a new breakpoint, find or generate a new layout.
+ *
+ * This finds the layout above the new one and generates from it, if it exists.
+ *
+ * @param {Object} layouts Existing layouts.
+ * @param {Array} breakpoints All breakpoints.
+ * @param {String} breakpoint New breakpoint.
+ * @param {String} breakpoint Last breakpoint (for fallback).
+ * @param {Number} cols Column count at new breakpoint.
+ * @param {Boolean} verticalCompact Whether or not to compact the layout
+ * vertically.
+ * @return {Array} New layout.
+ */
+ function findOrGenerateResponsiveLayout(layouts, breakpoints, breakpoint, lastBreakpoint, cols, compactType) {
+ // If it already exists, just return it.
+ if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]);
+ // Find or generate the next layout
+ var layout = layouts[lastBreakpoint];
+ var breakpointsSorted = sortBreakpoints(breakpoints);
+ var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));
+ for (var i = 0, len = breakpointsAbove.length; i < len; i++) {
+ var b = breakpointsAbove[i];
+ if (layouts[b]) {
+ layout = layouts[b];
+ break;
+ }
+ }
+ layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items
+ return (0, _utils.compact)((0, _utils.correctBounds)(layout, { cols: cols }), compactType, cols);
+ }
+
+ /**
+ * Given breakpoints, return an array of breakpoints sorted by width. This is usually
+ * e.g. ['xxs', 'xs', 'sm', ...]
+ *
+ * @param {Object} breakpoints Key/value pair of breakpoint names to widths.
+ * @return {Array} Sorted breakpoints.
+ */
+ function sortBreakpoints(breakpoints) {
+ var keys = Object.keys(breakpoints);
+ return keys.sort(function (a, b) {
+ return breakpoints[a] - breakpoints[b];
+ });
+ }
+
+ /***/ }),
+ /* 321 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Button = __webpack_require__(1141);
+
+ var _Button2 = _interopRequireDefault(_Button);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Button2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 322 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 323 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 324 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ exports["default"] = util;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 325 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(1176);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(1177);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(1178);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(1179);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(1180);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(326);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(327);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(1181);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(1182);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(328);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(1183);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(1185);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(1186);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
+ exports.Align = _Align3.default;
+
+ /***/ }),
+ /* 326 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = splitComponentProps;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function _objectEntries(obj) {
+ var entries = [];
+ var keys = Object.keys(obj);
+
+ for (var k = 0; k < keys.length; ++k) {
+ entries.push([keys[k], obj[keys[k]]]);
+ }return entries;
+ }
+
+ /**
+ * 分割要传入父元素和子元素的props
+ * @param {[object]} props 传入的属性
+ * @param {[reactElement]} Component 组件
+ * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
+ */
+ function splitComponentProps(props, Component) {
+ var componentPropTypes = Component.propTypes;
+
+ var parentProps = {};
+ var childProps = {};
+
+ _objectEntries(props).forEach(function (_ref) {
+ var propName = _ref[0],
+ propValue = _ref[1];
+
+ if (componentPropTypes[propName]) {
+ parentProps[propName] = propValue;
+ } else {
+ childProps[propName] = propValue;
+ }
+ });
+
+ return [parentProps, childProps];
+ }
+
+ /***/ }),
+ /* 327 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 328 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 329 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = getContainer;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ /**
+ * 获取容器组件
+ * @param {[type]} container [description]
+ * @param {[type]} defaultContainer [description]
+ * @return {[type]} [description]
+ */
+ function getContainer(container, defaultContainer) {
+ container = typeof container === 'function' ? container() : container;
+ return _reactDom2["default"].findDOMNode(container) || defaultContainer;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 330 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 331 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ (function (global, factory) {
+ true ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global.arrayTreeFilter = factory());
+ }(this, (function () { 'use strict';
+
+ function arrayTreeFilter(data, filterFn, options) {
+ options = options || {};
+ options.childrenKeyName = options.childrenKeyName || "children";
+ var children = data || [];
+ var result = [];
+ var level = 0;
+ do {
+ var foundItem = children.filter(function (item) {
+ return filterFn(item, level);
+ })[0];
+ if (!foundItem) {
+ break;
+ }
+ result.push(foundItem);
+ children = foundItem[options.childrenKeyName] || [];
+ level += 1;
+ } while (children.length > 0);
+ return result;
+ }
+
+ return arrayTreeFilter;
+
+ })));
+
+
+ /***/ }),
+ /* 332 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Icon = __webpack_require__(1244);
+
+ var _Icon2 = _interopRequireDefault(_Icon);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Icon2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 333 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Calendar = __webpack_require__(1270);
+
+ var _Calendar2 = _interopRequireDefault(_Calendar);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Calendar2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 334 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _DateTHead = __webpack_require__(1271);
+
+ var _DateTHead2 = _interopRequireDefault(_DateTHead);
+
+ var _DateTBody = __webpack_require__(1273);
+
+ var _DateTBody2 = _interopRequireDefault(_DateTBody);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var DateTable = function (_React$Component) {
+ _inherits(DateTable, _React$Component);
+
+ function DateTable() {
+ _classCallCheck(this, DateTable);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ DateTable.prototype.render = function render() {
+ var props = this.props;
+ var prefixCls = props.prefixCls;
+ return _react2["default"].createElement(
+ 'table',
+ { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
+ _react2["default"].createElement(_DateTHead2["default"], props),
+ _react2["default"].createElement(_DateTBody2["default"], props)
+ );
+ };
+
+ return DateTable;
+ }(_react2["default"].Component);
+
+ exports["default"] = DateTable;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 335 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = {
+ DATE_ROW_COUNT: 6,
+ DATE_COL_COUNT: 7
+ };
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 336 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Afrikaans [af]
+ //! author : Werner Mollentze : https://github.com/wernerm
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var af = moment.defineLocale('af', {
+ months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
+ weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(
+ '_'
+ ),
+ weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
+ weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
+ meridiemParse: /vm|nm/i,
+ isPM: function (input) {
+ return /^nm$/i.test(input);
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 12) {
+ return isLower ? 'vm' : 'VM';
+ } else {
+ return isLower ? 'nm' : 'NM';
+ }
+ },
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Vandag om] LT',
+ nextDay: '[Môre om] LT',
+ nextWeek: 'dddd [om] LT',
+ lastDay: '[Gister om] LT',
+ lastWeek: '[Laas] dddd [om] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'oor %s',
+ past: '%s gelede',
+ s: "'n paar sekondes",
+ ss: '%d sekondes',
+ m: "'n minuut",
+ mm: '%d minute',
+ h: "'n uur",
+ hh: '%d ure',
+ d: "'n dag",
+ dd: '%d dae',
+ M: "'n maand",
+ MM: '%d maande',
+ y: "'n jaar",
+ yy: '%d jaar',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+ ordinal: function (number) {
+ return (
+ number +
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
+ ); // Thanks to Joris Röling : https://github.com/jjupiter
+ },
+ week: {
+ dow: 1, // Maandag is die eerste dag van die week.
+ doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
+ },
+ });
+
+ return af;
+
+ })));
+
+
+ /***/ }),
+ /* 337 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic [ar]
+ //! author : Abdel Said: https://github.com/abdelsaid
+ //! author : Ahmed Elkhatib
+ //! author : forabi https://github.com/forabi
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '١',
+ '2': '٢',
+ '3': '٣',
+ '4': '٤',
+ '5': '٥',
+ '6': '٦',
+ '7': '٧',
+ '8': '٨',
+ '9': '٩',
+ '0': '٠',
+ },
+ numberMap = {
+ '١': '1',
+ '٢': '2',
+ '٣': '3',
+ '٤': '4',
+ '٥': '5',
+ '٦': '6',
+ '٧': '7',
+ '٨': '8',
+ '٩': '9',
+ '٠': '0',
+ },
+ pluralForm = function (n) {
+ return n === 0
+ ? 0
+ : n === 1
+ ? 1
+ : n === 2
+ ? 2
+ : n % 100 >= 3 && n % 100 <= 10
+ ? 3
+ : n % 100 >= 11
+ ? 4
+ : 5;
+ },
+ plurals = {
+ s: [
+ 'أقل من ثانية',
+ 'ثانية واحدة',
+ ['ثانيتان', 'ثانيتين'],
+ '%d ثوان',
+ '%d ثانية',
+ '%d ثانية',
+ ],
+ m: [
+ 'أقل من دقيقة',
+ 'دقيقة واحدة',
+ ['دقيقتان', 'دقيقتين'],
+ '%d دقائق',
+ '%d دقيقة',
+ '%d دقيقة',
+ ],
+ h: [
+ 'أقل من ساعة',
+ 'ساعة واحدة',
+ ['ساعتان', 'ساعتين'],
+ '%d ساعات',
+ '%d ساعة',
+ '%d ساعة',
+ ],
+ d: [
+ 'أقل من يوم',
+ 'يوم واحد',
+ ['يومان', 'يومين'],
+ '%d أيام',
+ '%d يومًا',
+ '%d يوم',
+ ],
+ M: [
+ 'أقل من شهر',
+ 'شهر واحد',
+ ['شهران', 'شهرين'],
+ '%d أشهر',
+ '%d شهرا',
+ '%d شهر',
+ ],
+ y: [
+ 'أقل من عام',
+ 'عام واحد',
+ ['عامان', 'عامين'],
+ '%d أعوام',
+ '%d عامًا',
+ '%d عام',
+ ],
+ },
+ pluralize = function (u) {
+ return function (number, withoutSuffix, string, isFuture) {
+ var f = pluralForm(number),
+ str = plurals[u][pluralForm(number)];
+ if (f === 2) {
+ str = str[withoutSuffix ? 0 : 1];
+ }
+ return str.replace(/%d/i, number);
+ };
+ },
+ months = [
+ 'يناير',
+ 'فبراير',
+ 'مارس',
+ 'أبريل',
+ 'مايو',
+ 'يونيو',
+ 'يوليو',
+ 'أغسطس',
+ 'سبتمبر',
+ 'أكتوبر',
+ 'نوفمبر',
+ 'ديسمبر',
+ ];
+
+ var ar = moment.defineLocale('ar', {
+ months: months,
+ monthsShort: months,
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'D/\u200FM/\u200FYYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /ص|م/,
+ isPM: function (input) {
+ return 'م' === input;
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ص';
+ } else {
+ return 'م';
+ }
+ },
+ calendar: {
+ sameDay: '[اليوم عند الساعة] LT',
+ nextDay: '[غدًا عند الساعة] LT',
+ nextWeek: 'dddd [عند الساعة] LT',
+ lastDay: '[أمس عند الساعة] LT',
+ lastWeek: 'dddd [عند الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'بعد %s',
+ past: 'منذ %s',
+ s: pluralize('s'),
+ ss: pluralize('s'),
+ m: pluralize('m'),
+ mm: pluralize('m'),
+ h: pluralize('h'),
+ hh: pluralize('h'),
+ d: pluralize('d'),
+ dd: pluralize('d'),
+ M: pluralize('M'),
+ MM: pluralize('M'),
+ y: pluralize('y'),
+ yy: pluralize('y'),
+ },
+ preparse: function (string) {
+ return string
+ .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+ return numberMap[match];
+ })
+ .replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string
+ .replace(/\d/g, function (match) {
+ return symbolMap[match];
+ })
+ .replace(/,/g, '،');
+ },
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return ar;
+
+ })));
+
+
+ /***/ }),
+ /* 338 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic (Algeria) [ar-dz]
+ //! author : Noureddine LOUAHEDJ : https://github.com/noureddineme
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var arDz = moment.defineLocale('ar-dz', {
+ months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
+ '_'
+ ),
+ monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
+ '_'
+ ),
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[اليوم على الساعة] LT',
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ ss: '%d ثانية',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات',
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return arDz;
+
+ })));
+
+
+ /***/ }),
+ /* 339 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic (Kuwait) [ar-kw]
+ //! author : Nusret Parlak: https://github.com/nusretparlak
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var arKw = moment.defineLocale('ar-kw', {
+ months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
+ '_'
+ ),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
+ '_'
+ ),
+ weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[اليوم على الساعة] LT',
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ ss: '%d ثانية',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات',
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return arKw;
+
+ })));
+
+
+ /***/ }),
+ /* 340 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic (Lybia) [ar-ly]
+ //! author : Ali Hmer: https://github.com/kikoanis
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '1',
+ '2': '2',
+ '3': '3',
+ '4': '4',
+ '5': '5',
+ '6': '6',
+ '7': '7',
+ '8': '8',
+ '9': '9',
+ '0': '0',
+ },
+ pluralForm = function (n) {
+ return n === 0
+ ? 0
+ : n === 1
+ ? 1
+ : n === 2
+ ? 2
+ : n % 100 >= 3 && n % 100 <= 10
+ ? 3
+ : n % 100 >= 11
+ ? 4
+ : 5;
+ },
+ plurals = {
+ s: [
+ 'أقل من ثانية',
+ 'ثانية واحدة',
+ ['ثانيتان', 'ثانيتين'],
+ '%d ثوان',
+ '%d ثانية',
+ '%d ثانية',
+ ],
+ m: [
+ 'أقل من دقيقة',
+ 'دقيقة واحدة',
+ ['دقيقتان', 'دقيقتين'],
+ '%d دقائق',
+ '%d دقيقة',
+ '%d دقيقة',
+ ],
+ h: [
+ 'أقل من ساعة',
+ 'ساعة واحدة',
+ ['ساعتان', 'ساعتين'],
+ '%d ساعات',
+ '%d ساعة',
+ '%d ساعة',
+ ],
+ d: [
+ 'أقل من يوم',
+ 'يوم واحد',
+ ['يومان', 'يومين'],
+ '%d أيام',
+ '%d يومًا',
+ '%d يوم',
+ ],
+ M: [
+ 'أقل من شهر',
+ 'شهر واحد',
+ ['شهران', 'شهرين'],
+ '%d أشهر',
+ '%d شهرا',
+ '%d شهر',
+ ],
+ y: [
+ 'أقل من عام',
+ 'عام واحد',
+ ['عامان', 'عامين'],
+ '%d أعوام',
+ '%d عامًا',
+ '%d عام',
+ ],
+ },
+ pluralize = function (u) {
+ return function (number, withoutSuffix, string, isFuture) {
+ var f = pluralForm(number),
+ str = plurals[u][pluralForm(number)];
+ if (f === 2) {
+ str = str[withoutSuffix ? 0 : 1];
+ }
+ return str.replace(/%d/i, number);
+ };
+ },
+ months = [
+ 'يناير',
+ 'فبراير',
+ 'مارس',
+ 'أبريل',
+ 'مايو',
+ 'يونيو',
+ 'يوليو',
+ 'أغسطس',
+ 'سبتمبر',
+ 'أكتوبر',
+ 'نوفمبر',
+ 'ديسمبر',
+ ];
+
+ var arLy = moment.defineLocale('ar-ly', {
+ months: months,
+ monthsShort: months,
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'D/\u200FM/\u200FYYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /ص|م/,
+ isPM: function (input) {
+ return 'م' === input;
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ص';
+ } else {
+ return 'م';
+ }
+ },
+ calendar: {
+ sameDay: '[اليوم عند الساعة] LT',
+ nextDay: '[غدًا عند الساعة] LT',
+ nextWeek: 'dddd [عند الساعة] LT',
+ lastDay: '[أمس عند الساعة] LT',
+ lastWeek: 'dddd [عند الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'بعد %s',
+ past: 'منذ %s',
+ s: pluralize('s'),
+ ss: pluralize('s'),
+ m: pluralize('m'),
+ mm: pluralize('m'),
+ h: pluralize('h'),
+ hh: pluralize('h'),
+ d: pluralize('d'),
+ dd: pluralize('d'),
+ M: pluralize('M'),
+ MM: pluralize('M'),
+ y: pluralize('y'),
+ yy: pluralize('y'),
+ },
+ preparse: function (string) {
+ return string.replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string
+ .replace(/\d/g, function (match) {
+ return symbolMap[match];
+ })
+ .replace(/,/g, '،');
+ },
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return arLy;
+
+ })));
+
+
+ /***/ }),
+ /* 341 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic (Morocco) [ar-ma]
+ //! author : ElFadili Yassine : https://github.com/ElFadiliY
+ //! author : Abdel Said : https://github.com/abdelsaid
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var arMa = moment.defineLocale('ar-ma', {
+ months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
+ '_'
+ ),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
+ '_'
+ ),
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[اليوم على الساعة] LT',
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ ss: '%d ثانية',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات',
+ },
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return arMa;
+
+ })));
+
+
+ /***/ }),
+ /* 342 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic (Saudi Arabia) [ar-sa]
+ //! author : Suhail Alkowaileet : https://github.com/xsoh
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '١',
+ '2': '٢',
+ '3': '٣',
+ '4': '٤',
+ '5': '٥',
+ '6': '٦',
+ '7': '٧',
+ '8': '٨',
+ '9': '٩',
+ '0': '٠',
+ },
+ numberMap = {
+ '١': '1',
+ '٢': '2',
+ '٣': '3',
+ '٤': '4',
+ '٥': '5',
+ '٦': '6',
+ '٧': '7',
+ '٨': '8',
+ '٩': '9',
+ '٠': '0',
+ };
+
+ var arSa = moment.defineLocale('ar-sa', {
+ months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
+ '_'
+ ),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
+ '_'
+ ),
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /ص|م/,
+ isPM: function (input) {
+ return 'م' === input;
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ص';
+ } else {
+ return 'م';
+ }
+ },
+ calendar: {
+ sameDay: '[اليوم على الساعة] LT',
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ ss: '%d ثانية',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات',
+ },
+ preparse: function (string) {
+ return string
+ .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+ return numberMap[match];
+ })
+ .replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string
+ .replace(/\d/g, function (match) {
+ return symbolMap[match];
+ })
+ .replace(/,/g, '،');
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return arSa;
+
+ })));
+
+
+ /***/ }),
+ /* 343 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Arabic (Tunisia) [ar-tn]
+ //! author : Nader Toukabri : https://github.com/naderio
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var arTn = moment.defineLocale('ar-tn', {
+ months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
+ '_'
+ ),
+ monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
+ '_'
+ ),
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[اليوم على الساعة] LT',
+ nextDay: '[غدا على الساعة] LT',
+ nextWeek: 'dddd [على الساعة] LT',
+ lastDay: '[أمس على الساعة] LT',
+ lastWeek: 'dddd [على الساعة] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ ss: '%d ثانية',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return arTn;
+
+ })));
+
+
+ /***/ }),
+ /* 344 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Azerbaijani [az]
+ //! author : topchiyev : https://github.com/topchiyev
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var suffixes = {
+ 1: '-inci',
+ 5: '-inci',
+ 8: '-inci',
+ 70: '-inci',
+ 80: '-inci',
+ 2: '-nci',
+ 7: '-nci',
+ 20: '-nci',
+ 50: '-nci',
+ 3: '-üncü',
+ 4: '-üncü',
+ 100: '-üncü',
+ 6: '-ncı',
+ 9: '-uncu',
+ 10: '-uncu',
+ 30: '-uncu',
+ 60: '-ıncı',
+ 90: '-ıncı',
+ };
+
+ var az = moment.defineLocale('az', {
+ months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(
+ '_'
+ ),
+ monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
+ weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(
+ '_'
+ ),
+ weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
+ weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[bugün saat] LT',
+ nextDay: '[sabah saat] LT',
+ nextWeek: '[gələn həftə] dddd [saat] LT',
+ lastDay: '[dünən] LT',
+ lastWeek: '[keçən həftə] dddd [saat] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s sonra',
+ past: '%s əvvəl',
+ s: 'birneçə saniyə',
+ ss: '%d saniyə',
+ m: 'bir dəqiqə',
+ mm: '%d dəqiqə',
+ h: 'bir saat',
+ hh: '%d saat',
+ d: 'bir gün',
+ dd: '%d gün',
+ M: 'bir ay',
+ MM: '%d ay',
+ y: 'bir il',
+ yy: '%d il',
+ },
+ meridiemParse: /gecə|səhər|gündüz|axşam/,
+ isPM: function (input) {
+ return /^(gündüz|axşam)$/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'gecə';
+ } else if (hour < 12) {
+ return 'səhər';
+ } else if (hour < 17) {
+ return 'gündüz';
+ } else {
+ return 'axşam';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
+ ordinal: function (number) {
+ if (number === 0) {
+ // special case for zero
+ return number + '-ıncı';
+ }
+ var a = number % 10,
+ b = (number % 100) - a,
+ c = number >= 100 ? 100 : null;
+ return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return az;
+
+ })));
+
+
+ /***/ }),
+ /* 345 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Belarusian [be]
+ //! author : Dmitry Demidov : https://github.com/demidov91
+ //! author: Praleska: http://praleska.pro/
+ //! Author : Menelion Elensúle : https://github.com/Oire
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11
+ ? forms[0]
+ : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
+ ? forms[1]
+ : forms[2];
+ }
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+ mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
+ hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
+ dd: 'дзень_дні_дзён',
+ MM: 'месяц_месяцы_месяцаў',
+ yy: 'год_гады_гадоў',
+ };
+ if (key === 'm') {
+ return withoutSuffix ? 'хвіліна' : 'хвіліну';
+ } else if (key === 'h') {
+ return withoutSuffix ? 'гадзіна' : 'гадзіну';
+ } else {
+ return number + ' ' + plural(format[key], +number);
+ }
+ }
+
+ var be = moment.defineLocale('be', {
+ months: {
+ format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
+ '_'
+ ),
+ standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
+ '_'
+ ),
+ },
+ monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(
+ '_'
+ ),
+ weekdays: {
+ format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(
+ '_'
+ ),
+ standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(
+ '_'
+ ),
+ isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/,
+ },
+ weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+ weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY г.',
+ LLL: 'D MMMM YYYY г., HH:mm',
+ LLLL: 'dddd, D MMMM YYYY г., HH:mm',
+ },
+ calendar: {
+ sameDay: '[Сёння ў] LT',
+ nextDay: '[Заўтра ў] LT',
+ lastDay: '[Учора ў] LT',
+ nextWeek: function () {
+ return '[У] dddd [ў] LT';
+ },
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 5:
+ case 6:
+ return '[У мінулую] dddd [ў] LT';
+ case 1:
+ case 2:
+ case 4:
+ return '[У мінулы] dddd [ў] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'праз %s',
+ past: '%s таму',
+ s: 'некалькі секунд',
+ m: relativeTimeWithPlural,
+ mm: relativeTimeWithPlural,
+ h: relativeTimeWithPlural,
+ hh: relativeTimeWithPlural,
+ d: 'дзень',
+ dd: relativeTimeWithPlural,
+ M: 'месяц',
+ MM: relativeTimeWithPlural,
+ y: 'год',
+ yy: relativeTimeWithPlural,
+ },
+ meridiemParse: /ночы|раніцы|дня|вечара/,
+ isPM: function (input) {
+ return /^(дня|вечара)$/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'ночы';
+ } else if (hour < 12) {
+ return 'раніцы';
+ } else if (hour < 17) {
+ return 'дня';
+ } else {
+ return 'вечара';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'M':
+ case 'd':
+ case 'DDD':
+ case 'w':
+ case 'W':
+ return (number % 10 === 2 || number % 10 === 3) &&
+ number % 100 !== 12 &&
+ number % 100 !== 13
+ ? number + '-і'
+ : number + '-ы';
+ case 'D':
+ return number + '-га';
+ default:
+ return number;
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return be;
+
+ })));
+
+
+ /***/ }),
+ /* 346 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Bulgarian [bg]
+ //! author : Krasen Borisov : https://github.com/kraz
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var bg = moment.defineLocale('bg', {
+ months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(
+ '_'
+ ),
+ monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
+ weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(
+ '_'
+ ),
+ weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
+ weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'D.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY H:mm',
+ LLLL: 'dddd, D MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[Днес в] LT',
+ nextDay: '[Утре в] LT',
+ nextWeek: 'dddd [в] LT',
+ lastDay: '[Вчера в] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 6:
+ return '[Миналата] dddd [в] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[Миналия] dddd [в] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'след %s',
+ past: 'преди %s',
+ s: 'няколко секунди',
+ ss: '%d секунди',
+ m: 'минута',
+ mm: '%d минути',
+ h: 'час',
+ hh: '%d часа',
+ d: 'ден',
+ dd: '%d дена',
+ M: 'месец',
+ MM: '%d месеца',
+ y: 'година',
+ yy: '%d години',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+ ordinal: function (number) {
+ var lastDigit = number % 10,
+ last2Digits = number % 100;
+ if (number === 0) {
+ return number + '-ев';
+ } else if (last2Digits === 0) {
+ return number + '-ен';
+ } else if (last2Digits > 10 && last2Digits < 20) {
+ return number + '-ти';
+ } else if (lastDigit === 1) {
+ return number + '-ви';
+ } else if (lastDigit === 2) {
+ return number + '-ри';
+ } else if (lastDigit === 7 || lastDigit === 8) {
+ return number + '-ми';
+ } else {
+ return number + '-ти';
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return bg;
+
+ })));
+
+
+ /***/ }),
+ /* 347 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Bambara [bm]
+ //! author : Estelle Comment : https://github.com/estellecomment
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var bm = moment.defineLocale('bm', {
+ months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(
+ '_'
+ ),
+ monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
+ weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
+ weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
+ weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'MMMM [tile] D [san] YYYY',
+ LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+ LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+ },
+ calendar: {
+ sameDay: '[Bi lɛrɛ] LT',
+ nextDay: '[Sini lɛrɛ] LT',
+ nextWeek: 'dddd [don lɛrɛ] LT',
+ lastDay: '[Kunu lɛrɛ] LT',
+ lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s kɔnɔ',
+ past: 'a bɛ %s bɔ',
+ s: 'sanga dama dama',
+ ss: 'sekondi %d',
+ m: 'miniti kelen',
+ mm: 'miniti %d',
+ h: 'lɛrɛ kelen',
+ hh: 'lɛrɛ %d',
+ d: 'tile kelen',
+ dd: 'tile %d',
+ M: 'kalo kelen',
+ MM: 'kalo %d',
+ y: 'san kelen',
+ yy: 'san %d',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return bm;
+
+ })));
+
+
+ /***/ }),
+ /* 348 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Bengali [bn]
+ //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '১',
+ '2': '২',
+ '3': '৩',
+ '4': '৪',
+ '5': '৫',
+ '6': '৬',
+ '7': '৭',
+ '8': '৮',
+ '9': '৯',
+ '0': '০',
+ },
+ numberMap = {
+ '১': '1',
+ '২': '2',
+ '৩': '3',
+ '৪': '4',
+ '৫': '5',
+ '৬': '6',
+ '৭': '7',
+ '৮': '8',
+ '৯': '9',
+ '০': '0',
+ };
+
+ var bn = moment.defineLocale('bn', {
+ months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
+ '_'
+ ),
+ monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
+ '_'
+ ),
+ weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
+ '_'
+ ),
+ weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
+ weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm সময়',
+ LTS: 'A h:mm:ss সময়',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm সময়',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',
+ },
+ calendar: {
+ sameDay: '[আজ] LT',
+ nextDay: '[আগামীকাল] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[গতকাল] LT',
+ lastWeek: '[গত] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s পরে',
+ past: '%s আগে',
+ s: 'কয়েক সেকেন্ড',
+ ss: '%d সেকেন্ড',
+ m: 'এক মিনিট',
+ mm: '%d মিনিট',
+ h: 'এক ঘন্টা',
+ hh: '%d ঘন্টা',
+ d: 'এক দিন',
+ dd: '%d দিন',
+ M: 'এক মাস',
+ MM: '%d মাস',
+ y: 'এক বছর',
+ yy: '%d বছর',
+ },
+ preparse: function (string) {
+ return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (
+ (meridiem === 'রাত' && hour >= 4) ||
+ (meridiem === 'দুপুর' && hour < 5) ||
+ meridiem === 'বিকাল'
+ ) {
+ return hour + 12;
+ } else {
+ return hour;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'রাত';
+ } else if (hour < 10) {
+ return 'সকাল';
+ } else if (hour < 17) {
+ return 'দুপুর';
+ } else if (hour < 20) {
+ return 'বিকাল';
+ } else {
+ return 'রাত';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return bn;
+
+ })));
+
+
+ /***/ }),
+ /* 349 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Tibetan [bo]
+ //! author : Thupten N. Chakrishar : https://github.com/vajradog
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '༡',
+ '2': '༢',
+ '3': '༣',
+ '4': '༤',
+ '5': '༥',
+ '6': '༦',
+ '7': '༧',
+ '8': '༨',
+ '9': '༩',
+ '0': '༠',
+ },
+ numberMap = {
+ '༡': '1',
+ '༢': '2',
+ '༣': '3',
+ '༤': '4',
+ '༥': '5',
+ '༦': '6',
+ '༧': '7',
+ '༨': '8',
+ '༩': '9',
+ '༠': '0',
+ };
+
+ var bo = moment.defineLocale('bo', {
+ months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(
+ '_'
+ ),
+ monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(
+ '_'
+ ),
+ monthsShortRegex: /^(ཟླ་\d{1,2})/,
+ monthsParseExact: true,
+ weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(
+ '_'
+ ),
+ weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(
+ '_'
+ ),
+ weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm',
+ },
+ calendar: {
+ sameDay: '[དི་རིང] LT',
+ nextDay: '[སང་ཉིན] LT',
+ nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
+ lastDay: '[ཁ་སང] LT',
+ lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s ལ་',
+ past: '%s སྔན་ལ',
+ s: 'ལམ་སང',
+ ss: '%d སྐར་ཆ།',
+ m: 'སྐར་མ་གཅིག',
+ mm: '%d སྐར་མ',
+ h: 'ཆུ་ཚོད་གཅིག',
+ hh: '%d ཆུ་ཚོད',
+ d: 'ཉིན་གཅིག',
+ dd: '%d ཉིན་',
+ M: 'ཟླ་བ་གཅིག',
+ MM: '%d ཟླ་བ',
+ y: 'ལོ་གཅིག',
+ yy: '%d ལོ',
+ },
+ preparse: function (string) {
+ return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (
+ (meridiem === 'མཚན་མོ' && hour >= 4) ||
+ (meridiem === 'ཉིན་གུང' && hour < 5) ||
+ meridiem === 'དགོང་དག'
+ ) {
+ return hour + 12;
+ } else {
+ return hour;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'མཚན་མོ';
+ } else if (hour < 10) {
+ return 'ཞོགས་ཀས';
+ } else if (hour < 17) {
+ return 'ཉིན་གུང';
+ } else if (hour < 20) {
+ return 'དགོང་དག';
+ } else {
+ return 'མཚན་མོ';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return bo;
+
+ })));
+
+
+ /***/ }),
+ /* 350 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Breton [br]
+ //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function relativeTimeWithMutation(number, withoutSuffix, key) {
+ var format = {
+ mm: 'munutenn',
+ MM: 'miz',
+ dd: 'devezh',
+ };
+ return number + ' ' + mutation(format[key], number);
+ }
+ function specialMutationForYears(number) {
+ switch (lastNumber(number)) {
+ case 1:
+ case 3:
+ case 4:
+ case 5:
+ case 9:
+ return number + ' bloaz';
+ default:
+ return number + ' vloaz';
+ }
+ }
+ function lastNumber(number) {
+ if (number > 9) {
+ return lastNumber(number % 10);
+ }
+ return number;
+ }
+ function mutation(text, number) {
+ if (number === 2) {
+ return softMutation(text);
+ }
+ return text;
+ }
+ function softMutation(text) {
+ var mutationTable = {
+ m: 'v',
+ b: 'v',
+ d: 'z',
+ };
+ if (mutationTable[text.charAt(0)] === undefined) {
+ return text;
+ }
+ return mutationTable[text.charAt(0)] + text.substring(1);
+ }
+
+ var br = moment.defineLocale('br', {
+ months: "Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split(
+ '_'
+ ),
+ monthsShort: "Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split('_'),
+ weekdays: "Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split('_'),
+ weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
+ weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [a viz] MMMM YYYY',
+ LLL: 'D [a viz] MMMM YYYY HH:mm',
+ LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Hiziv da] LT',
+ nextDay: "[Warc'hoazh da] LT",
+ nextWeek: 'dddd [da] LT',
+ lastDay: "[Dec'h da] LT",
+ lastWeek: 'dddd [paset da] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'a-benn %s',
+ past: "%s 'zo",
+ s: 'un nebeud segondennoù',
+ ss: '%d eilenn',
+ m: 'ur vunutenn',
+ mm: relativeTimeWithMutation,
+ h: 'un eur',
+ hh: '%d eur',
+ d: 'un devezh',
+ dd: relativeTimeWithMutation,
+ M: 'ur miz',
+ MM: relativeTimeWithMutation,
+ y: 'ur bloaz',
+ yy: specialMutationForYears,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
+ ordinal: function (number) {
+ var output = number === 1 ? 'añ' : 'vet';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return br;
+
+ })));
+
+
+ /***/ }),
+ /* 351 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Bosnian [bs]
+ //! author : Nedim Cholich : https://github.com/frontyard
+ //! based on (hr) translation by Bojan Marković
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function translate(number, withoutSuffix, key) {
+ var result = number + ' ';
+ switch (key) {
+ case 'ss':
+ if (number === 1) {
+ result += 'sekunda';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'sekunde';
+ } else {
+ result += 'sekundi';
+ }
+ return result;
+ case 'm':
+ return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+ case 'mm':
+ if (number === 1) {
+ result += 'minuta';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'minute';
+ } else {
+ result += 'minuta';
+ }
+ return result;
+ case 'h':
+ return withoutSuffix ? 'jedan sat' : 'jednog sata';
+ case 'hh':
+ if (number === 1) {
+ result += 'sat';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'sata';
+ } else {
+ result += 'sati';
+ }
+ return result;
+ case 'dd':
+ if (number === 1) {
+ result += 'dan';
+ } else {
+ result += 'dana';
+ }
+ return result;
+ case 'MM':
+ if (number === 1) {
+ result += 'mjesec';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'mjeseca';
+ } else {
+ result += 'mjeseci';
+ }
+ return result;
+ case 'yy':
+ if (number === 1) {
+ result += 'godina';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'godine';
+ } else {
+ result += 'godina';
+ }
+ return result;
+ }
+ }
+
+ var bs = moment.defineLocale('bs', {
+ months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(
+ '_'
+ ),
+ monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
+ '_'
+ ),
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[danas u] LT',
+ nextDay: '[sutra u] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[u] [nedjelju] [u] LT';
+ case 3:
+ return '[u] [srijedu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ },
+ lastDay: '[jučer u] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ return '[prošlu] dddd [u] LT';
+ case 6:
+ return '[prošle] [subote] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[prošli] dddd [u] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'prije %s',
+ s: 'par sekundi',
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: 'dan',
+ dd: translate,
+ M: 'mjesec',
+ MM: translate,
+ y: 'godinu',
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return bs;
+
+ })));
+
+
+ /***/ }),
+ /* 352 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Catalan [ca]
+ //! author : Juan G. Hurtado : https://github.com/juanghurtado
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ca = moment.defineLocale('ca', {
+ months: {
+ standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(
+ '_'
+ ),
+ format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split(
+ '_'
+ ),
+ isFormat: /D[oD]?(\s)+MMMM/,
+ },
+ monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(
+ '_'
+ ),
+ weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
+ weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM [de] YYYY',
+ ll: 'D MMM YYYY',
+ LLL: 'D MMMM [de] YYYY [a les] H:mm',
+ lll: 'D MMM YYYY, H:mm',
+ LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
+ llll: 'ddd D MMM YYYY, H:mm',
+ },
+ calendar: {
+ sameDay: function () {
+ return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
+ },
+ nextDay: function () {
+ return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
+ },
+ nextWeek: function () {
+ return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
+ },
+ lastDay: function () {
+ return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
+ },
+ lastWeek: function () {
+ return (
+ '[el] dddd [passat a ' +
+ (this.hours() !== 1 ? 'les' : 'la') +
+ '] LT'
+ );
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: "d'aquí %s",
+ past: 'fa %s',
+ s: 'uns segons',
+ ss: '%d segons',
+ m: 'un minut',
+ mm: '%d minuts',
+ h: 'una hora',
+ hh: '%d hores',
+ d: 'un dia',
+ dd: '%d dies',
+ M: 'un mes',
+ MM: '%d mesos',
+ y: 'un any',
+ yy: '%d anys',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
+ ordinal: function (number, period) {
+ var output =
+ number === 1
+ ? 'r'
+ : number === 2
+ ? 'n'
+ : number === 3
+ ? 'r'
+ : number === 4
+ ? 't'
+ : 'è';
+ if (period === 'w' || period === 'W') {
+ output = 'a';
+ }
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return ca;
+
+ })));
+
+
+ /***/ }),
+ /* 353 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Czech [cs]
+ //! author : petrbela : https://github.com/petrbela
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
+ '_'
+ ),
+ monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
+ monthsParse = [
+ /^led/i,
+ /^úno/i,
+ /^bře/i,
+ /^dub/i,
+ /^kvě/i,
+ /^(čvn|červen$|června)/i,
+ /^(čvc|červenec|července)/i,
+ /^srp/i,
+ /^zář/i,
+ /^říj/i,
+ /^lis/i,
+ /^pro/i,
+ ],
+ // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+ // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+ monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
+
+ function plural(n) {
+ return n > 1 && n < 5 && ~~(n / 10) !== 1;
+ }
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + ' ';
+ switch (key) {
+ case 's': // a few seconds / in a few seconds / a few seconds ago
+ return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
+ case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'sekundy' : 'sekund');
+ } else {
+ return result + 'sekundami';
+ }
+ case 'm': // a minute / in a minute / a minute ago
+ return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
+ case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'minuty' : 'minut');
+ } else {
+ return result + 'minutami';
+ }
+ case 'h': // an hour / in an hour / an hour ago
+ return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
+ case 'hh': // 9 hours / in 9 hours / 9 hours ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'hodiny' : 'hodin');
+ } else {
+ return result + 'hodinami';
+ }
+ case 'd': // a day / in a day / a day ago
+ return withoutSuffix || isFuture ? 'den' : 'dnem';
+ case 'dd': // 9 days / in 9 days / 9 days ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'dny' : 'dní');
+ } else {
+ return result + 'dny';
+ }
+ case 'M': // a month / in a month / a month ago
+ return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
+ case 'MM': // 9 months / in 9 months / 9 months ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'měsíce' : 'měsíců');
+ } else {
+ return result + 'měsíci';
+ }
+ case 'y': // a year / in a year / a year ago
+ return withoutSuffix || isFuture ? 'rok' : 'rokem';
+ case 'yy': // 9 years / in 9 years / 9 years ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'roky' : 'let');
+ } else {
+ return result + 'lety';
+ }
+ }
+ }
+
+ var cs = moment.defineLocale('cs', {
+ months: months,
+ monthsShort: monthsShort,
+ monthsRegex: monthsRegex,
+ monthsShortRegex: monthsRegex,
+ // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+ // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+ monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
+ monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+ weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
+ weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
+ weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd D. MMMM YYYY H:mm',
+ l: 'D. M. YYYY',
+ },
+ calendar: {
+ sameDay: '[dnes v] LT',
+ nextDay: '[zítra v] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[v neděli v] LT';
+ case 1:
+ case 2:
+ return '[v] dddd [v] LT';
+ case 3:
+ return '[ve středu v] LT';
+ case 4:
+ return '[ve čtvrtek v] LT';
+ case 5:
+ return '[v pátek v] LT';
+ case 6:
+ return '[v sobotu v] LT';
+ }
+ },
+ lastDay: '[včera v] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[minulou neděli v] LT';
+ case 1:
+ case 2:
+ return '[minulé] dddd [v] LT';
+ case 3:
+ return '[minulou středu v] LT';
+ case 4:
+ case 5:
+ return '[minulý] dddd [v] LT';
+ case 6:
+ return '[minulou sobotu v] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'před %s',
+ s: translate,
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return cs;
+
+ })));
+
+
+ /***/ }),
+ /* 354 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Chuvash [cv]
+ //! author : Anatoly Mironov : https://github.com/mirontoli
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var cv = moment.defineLocale('cv', {
+ months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(
+ '_'
+ ),
+ monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
+ weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(
+ '_'
+ ),
+ weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
+ weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD-MM-YYYY',
+ LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+ LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+ LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+ },
+ calendar: {
+ sameDay: '[Паян] LT [сехетре]',
+ nextDay: '[Ыран] LT [сехетре]',
+ lastDay: '[Ӗнер] LT [сехетре]',
+ nextWeek: '[Ҫитес] dddd LT [сехетре]',
+ lastWeek: '[Иртнӗ] dddd LT [сехетре]',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: function (output) {
+ var affix = /сехет$/i.exec(output)
+ ? 'рен'
+ : /ҫул$/i.exec(output)
+ ? 'тан'
+ : 'ран';
+ return output + affix;
+ },
+ past: '%s каялла',
+ s: 'пӗр-ик ҫеккунт',
+ ss: '%d ҫеккунт',
+ m: 'пӗр минут',
+ mm: '%d минут',
+ h: 'пӗр сехет',
+ hh: '%d сехет',
+ d: 'пӗр кун',
+ dd: '%d кун',
+ M: 'пӗр уйӑх',
+ MM: '%d уйӑх',
+ y: 'пӗр ҫул',
+ yy: '%d ҫул',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
+ ordinal: '%d-мӗш',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return cv;
+
+ })));
+
+
+ /***/ }),
+ /* 355 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Welsh [cy]
+ //! author : Robert Allen : https://github.com/robgallen
+ //! author : https://github.com/ryangreaves
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var cy = moment.defineLocale('cy', {
+ months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(
+ '_'
+ ),
+ monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(
+ '_'
+ ),
+ weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
+ weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
+ weekdaysParseExact: true,
+ // time formats are the same as en-gb
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Heddiw am] LT',
+ nextDay: '[Yfory am] LT',
+ nextWeek: 'dddd [am] LT',
+ lastDay: '[Ddoe am] LT',
+ lastWeek: 'dddd [diwethaf am] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'mewn %s',
+ past: '%s yn ôl',
+ s: 'ychydig eiliadau',
+ ss: '%d eiliad',
+ m: 'munud',
+ mm: '%d munud',
+ h: 'awr',
+ hh: '%d awr',
+ d: 'diwrnod',
+ dd: '%d diwrnod',
+ M: 'mis',
+ MM: '%d mis',
+ y: 'blwyddyn',
+ yy: '%d flynedd',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
+ // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
+ ordinal: function (number) {
+ var b = number,
+ output = '',
+ lookup = [
+ '',
+ 'af',
+ 'il',
+ 'ydd',
+ 'ydd',
+ 'ed',
+ 'ed',
+ 'ed',
+ 'fed',
+ 'fed',
+ 'fed', // 1af to 10fed
+ 'eg',
+ 'fed',
+ 'eg',
+ 'eg',
+ 'fed',
+ 'eg',
+ 'eg',
+ 'fed',
+ 'eg',
+ 'fed', // 11eg to 20fed
+ ];
+ if (b > 20) {
+ if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
+ output = 'fed'; // not 30ain, 70ain or 90ain
+ } else {
+ output = 'ain';
+ }
+ } else if (b > 0) {
+ output = lookup[b];
+ }
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return cy;
+
+ })));
+
+
+ /***/ }),
+ /* 356 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Danish [da]
+ //! author : Ulrik Nielsen : https://github.com/mrbase
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var da = moment.defineLocale('da', {
+ months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+ weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+ weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
+ weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',
+ },
+ calendar: {
+ sameDay: '[i dag kl.] LT',
+ nextDay: '[i morgen kl.] LT',
+ nextWeek: 'på dddd [kl.] LT',
+ lastDay: '[i går kl.] LT',
+ lastWeek: '[i] dddd[s kl.] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: '%s siden',
+ s: 'få sekunder',
+ ss: '%d sekunder',
+ m: 'et minut',
+ mm: '%d minutter',
+ h: 'en time',
+ hh: '%d timer',
+ d: 'en dag',
+ dd: '%d dage',
+ M: 'en måned',
+ MM: '%d måneder',
+ y: 'et år',
+ yy: '%d år',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return da;
+
+ })));
+
+
+ /***/ }),
+ /* 357 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : German [de]
+ //! author : lluchs : https://github.com/lluchs
+ //! author: Menelion Elensúle: https://github.com/Oire
+ //! author : Mikolaj Dadela : https://github.com/mik01aj
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ m: ['eine Minute', 'einer Minute'],
+ h: ['eine Stunde', 'einer Stunde'],
+ d: ['ein Tag', 'einem Tag'],
+ dd: [number + ' Tage', number + ' Tagen'],
+ M: ['ein Monat', 'einem Monat'],
+ MM: [number + ' Monate', number + ' Monaten'],
+ y: ['ein Jahr', 'einem Jahr'],
+ yy: [number + ' Jahre', number + ' Jahren'],
+ };
+ return withoutSuffix ? format[key][0] : format[key][1];
+ }
+
+ var de = moment.defineLocale('de', {
+ months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
+ '_'
+ ),
+ weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd, D. MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[heute um] LT [Uhr]',
+ sameElse: 'L',
+ nextDay: '[morgen um] LT [Uhr]',
+ nextWeek: 'dddd [um] LT [Uhr]',
+ lastDay: '[gestern um] LT [Uhr]',
+ lastWeek: '[letzten] dddd [um] LT [Uhr]',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: 'vor %s',
+ s: 'ein paar Sekunden',
+ ss: '%d Sekunden',
+ m: processRelativeTime,
+ mm: '%d Minuten',
+ h: processRelativeTime,
+ hh: '%d Stunden',
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return de;
+
+ })));
+
+
+ /***/ }),
+ /* 358 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : German (Austria) [de-at]
+ //! author : lluchs : https://github.com/lluchs
+ //! author: Menelion Elensúle: https://github.com/Oire
+ //! author : Martin Groller : https://github.com/MadMG
+ //! author : Mikolaj Dadela : https://github.com/mik01aj
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ m: ['eine Minute', 'einer Minute'],
+ h: ['eine Stunde', 'einer Stunde'],
+ d: ['ein Tag', 'einem Tag'],
+ dd: [number + ' Tage', number + ' Tagen'],
+ M: ['ein Monat', 'einem Monat'],
+ MM: [number + ' Monate', number + ' Monaten'],
+ y: ['ein Jahr', 'einem Jahr'],
+ yy: [number + ' Jahre', number + ' Jahren'],
+ };
+ return withoutSuffix ? format[key][0] : format[key][1];
+ }
+
+ var deAt = moment.defineLocale('de-at', {
+ months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
+ '_'
+ ),
+ monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
+ '_'
+ ),
+ weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd, D. MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[heute um] LT [Uhr]',
+ sameElse: 'L',
+ nextDay: '[morgen um] LT [Uhr]',
+ nextWeek: 'dddd [um] LT [Uhr]',
+ lastDay: '[gestern um] LT [Uhr]',
+ lastWeek: '[letzten] dddd [um] LT [Uhr]',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: 'vor %s',
+ s: 'ein paar Sekunden',
+ ss: '%d Sekunden',
+ m: processRelativeTime,
+ mm: '%d Minuten',
+ h: processRelativeTime,
+ hh: '%d Stunden',
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return deAt;
+
+ })));
+
+
+ /***/ }),
+ /* 359 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : German (Switzerland) [de-ch]
+ //! author : sschueller : https://github.com/sschueller
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ m: ['eine Minute', 'einer Minute'],
+ h: ['eine Stunde', 'einer Stunde'],
+ d: ['ein Tag', 'einem Tag'],
+ dd: [number + ' Tage', number + ' Tagen'],
+ M: ['ein Monat', 'einem Monat'],
+ MM: [number + ' Monate', number + ' Monaten'],
+ y: ['ein Jahr', 'einem Jahr'],
+ yy: [number + ' Jahre', number + ' Jahren'],
+ };
+ return withoutSuffix ? format[key][0] : format[key][1];
+ }
+
+ var deCh = moment.defineLocale('de-ch', {
+ months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
+ '_'
+ ),
+ weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd, D. MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[heute um] LT [Uhr]',
+ sameElse: 'L',
+ nextDay: '[morgen um] LT [Uhr]',
+ nextWeek: 'dddd [um] LT [Uhr]',
+ lastDay: '[gestern um] LT [Uhr]',
+ lastWeek: '[letzten] dddd [um] LT [Uhr]',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: 'vor %s',
+ s: 'ein paar Sekunden',
+ ss: '%d Sekunden',
+ m: processRelativeTime,
+ mm: '%d Minuten',
+ h: processRelativeTime,
+ hh: '%d Stunden',
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return deCh;
+
+ })));
+
+
+ /***/ }),
+ /* 360 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Maldivian [dv]
+ //! author : Jawish Hameed : https://github.com/jawish
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = [
+ 'ޖެނުއަރީ',
+ 'ފެބްރުއަރީ',
+ 'މާރިޗު',
+ 'އޭޕްރީލު',
+ 'މޭ',
+ 'ޖޫން',
+ 'ޖުލައި',
+ 'އޯގަސްޓު',
+ 'ސެޕްޓެމްބަރު',
+ 'އޮކްޓޯބަރު',
+ 'ނޮވެމްބަރު',
+ 'ޑިސެމްބަރު',
+ ],
+ weekdays = [
+ 'އާދިއްތަ',
+ 'ހޯމަ',
+ 'އަންގާރަ',
+ 'ބުދަ',
+ 'ބުރާސްފަތި',
+ 'ހުކުރު',
+ 'ހޮނިހިރު',
+ ];
+
+ var dv = moment.defineLocale('dv', {
+ months: months,
+ monthsShort: months,
+ weekdays: weekdays,
+ weekdaysShort: weekdays,
+ weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'D/M/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /މކ|މފ/,
+ isPM: function (input) {
+ return 'މފ' === input;
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'މކ';
+ } else {
+ return 'މފ';
+ }
+ },
+ calendar: {
+ sameDay: '[މިއަދު] LT',
+ nextDay: '[މާދަމާ] LT',
+ nextWeek: 'dddd LT',
+ lastDay: '[އިއްޔެ] LT',
+ lastWeek: '[ފާއިތުވި] dddd LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'ތެރޭގައި %s',
+ past: 'ކުރިން %s',
+ s: 'ސިކުންތުކޮޅެއް',
+ ss: 'd% ސިކުންތު',
+ m: 'މިނިޓެއް',
+ mm: 'މިނިޓު %d',
+ h: 'ގަޑިއިރެއް',
+ hh: 'ގަޑިއިރު %d',
+ d: 'ދުވަހެއް',
+ dd: 'ދުވަސް %d',
+ M: 'މަހެއް',
+ MM: 'މަސް %d',
+ y: 'އަހަރެއް',
+ yy: 'އަހަރު %d',
+ },
+ preparse: function (string) {
+ return string.replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string.replace(/,/g, '،');
+ },
+ week: {
+ dow: 7, // Sunday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return dv;
+
+ })));
+
+
+ /***/ }),
+ /* 361 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Greek [el]
+ //! author : Aggelos Karalias : https://github.com/mehiel
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function isFunction(input) {
+ return (
+ (typeof Function !== 'undefined' && input instanceof Function) ||
+ Object.prototype.toString.call(input) === '[object Function]'
+ );
+ }
+
+ var el = moment.defineLocale('el', {
+ monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(
+ '_'
+ ),
+ monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(
+ '_'
+ ),
+ months: function (momentToFormat, format) {
+ if (!momentToFormat) {
+ return this._monthsNominativeEl;
+ } else if (
+ typeof format === 'string' &&
+ /D/.test(format.substring(0, format.indexOf('MMMM')))
+ ) {
+ // if there is a day number before 'MMMM'
+ return this._monthsGenitiveEl[momentToFormat.month()];
+ } else {
+ return this._monthsNominativeEl[momentToFormat.month()];
+ }
+ },
+ monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
+ weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(
+ '_'
+ ),
+ weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
+ weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
+ meridiem: function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'μμ' : 'ΜΜ';
+ } else {
+ return isLower ? 'πμ' : 'ΠΜ';
+ }
+ },
+ isPM: function (input) {
+ return (input + '').toLowerCase()[0] === 'μ';
+ },
+ meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
+ },
+ calendarEl: {
+ sameDay: '[Σήμερα {}] LT',
+ nextDay: '[Αύριο {}] LT',
+ nextWeek: 'dddd [{}] LT',
+ lastDay: '[Χθες {}] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 6:
+ return '[το προηγούμενο] dddd [{}] LT';
+ default:
+ return '[την προηγούμενη] dddd [{}] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ calendar: function (key, mom) {
+ var output = this._calendarEl[key],
+ hours = mom && mom.hours();
+ if (isFunction(output)) {
+ output = output.apply(mom);
+ }
+ return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');
+ },
+ relativeTime: {
+ future: 'σε %s',
+ past: '%s πριν',
+ s: 'λίγα δευτερόλεπτα',
+ ss: '%d δευτερόλεπτα',
+ m: 'ένα λεπτό',
+ mm: '%d λεπτά',
+ h: 'μία ώρα',
+ hh: '%d ώρες',
+ d: 'μία μέρα',
+ dd: '%d μέρες',
+ M: 'ένας μήνας',
+ MM: '%d μήνες',
+ y: 'ένας χρόνος',
+ yy: '%d χρόνια',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}η/,
+ ordinal: '%dη',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4st is the first week of the year.
+ },
+ });
+
+ return el;
+
+ })));
+
+
+ /***/ }),
+ /* 362 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (Australia) [en-au]
+ //! author : Jared Morse : https://github.com/jarcoal
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enAu = moment.defineLocale('en-au', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return enAu;
+
+ })));
+
+
+ /***/ }),
+ /* 363 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (Canada) [en-ca]
+ //! author : Jonathan Abourbih : https://github.com/jonbca
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enCa = moment.defineLocale('en-ca', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'YYYY-MM-DD',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY h:mm A',
+ LLLL: 'dddd, MMMM D, YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ });
+
+ return enCa;
+
+ })));
+
+
+ /***/ }),
+ /* 364 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (Ireland) [en-ie]
+ //! author : Chris Cartlidge : https://github.com/chriscartlidge
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enIe = moment.defineLocale('en-ie', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return enIe;
+
+ })));
+
+
+ /***/ }),
+ /* 365 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (Israel) [en-il]
+ //! author : Chris Gedrim : https://github.com/chrisgedrim
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enIl = moment.defineLocale('en-il', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ });
+
+ return enIl;
+
+ })));
+
+
+ /***/ }),
+ /* 366 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (India) [en-in]
+ //! author : Jatin Agrawal : https://github.com/jatinag22
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enIn = moment.defineLocale('en-in', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return enIn;
+
+ })));
+
+
+ /***/ }),
+ /* 367 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (New Zealand) [en-nz]
+ //! author : Luke McGregor : https://github.com/lukemcgregor
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enNz = moment.defineLocale('en-nz', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return enNz;
+
+ })));
+
+
+ /***/ }),
+ /* 368 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : English (Singapore) [en-sg]
+ //! author : Matthew Castrillon-Madrigal : https://github.com/techdimension
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var enSg = moment.defineLocale('en-sg', {
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Today at] LT',
+ nextDay: '[Tomorrow at] LT',
+ nextWeek: 'dddd [at] LT',
+ lastDay: '[Yesterday at] LT',
+ lastWeek: '[Last] dddd [at] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ ss: '%d seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return enSg;
+
+ })));
+
+
+ /***/ }),
+ /* 369 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Esperanto [eo]
+ //! author : Colin Dean : https://github.com/colindean
+ //! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
+ //! comment : miestasmia corrected the translation by colindean
+ //! comment : Vivakvo corrected the translation by colindean and miestasmia
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var eo = moment.defineLocale('eo', {
+ months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),
+ weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
+ weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: '[la] D[-an de] MMMM, YYYY',
+ LLL: '[la] D[-an de] MMMM, YYYY HH:mm',
+ LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',
+ llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',
+ },
+ meridiemParse: /[ap]\.t\.m/i,
+ isPM: function (input) {
+ return input.charAt(0).toLowerCase() === 'p';
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'p.t.m.' : 'P.T.M.';
+ } else {
+ return isLower ? 'a.t.m.' : 'A.T.M.';
+ }
+ },
+ calendar: {
+ sameDay: '[Hodiaŭ je] LT',
+ nextDay: '[Morgaŭ je] LT',
+ nextWeek: 'dddd[n je] LT',
+ lastDay: '[Hieraŭ je] LT',
+ lastWeek: '[pasintan] dddd[n je] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'post %s',
+ past: 'antaŭ %s',
+ s: 'kelkaj sekundoj',
+ ss: '%d sekundoj',
+ m: 'unu minuto',
+ mm: '%d minutoj',
+ h: 'unu horo',
+ hh: '%d horoj',
+ d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo
+ dd: '%d tagoj',
+ M: 'unu monato',
+ MM: '%d monatoj',
+ y: 'unu jaro',
+ yy: '%d jaroj',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}a/,
+ ordinal: '%da',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return eo;
+
+ })));
+
+
+ /***/ }),
+ /* 370 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Spanish [es]
+ //! author : Julio Napurí : https://github.com/julionc
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
+ '_'
+ ),
+ monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
+ monthsParse = [
+ /^ene/i,
+ /^feb/i,
+ /^mar/i,
+ /^abr/i,
+ /^may/i,
+ /^jun/i,
+ /^jul/i,
+ /^ago/i,
+ /^sep/i,
+ /^oct/i,
+ /^nov/i,
+ /^dic/i,
+ ],
+ monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+ var es = moment.defineLocale('es', {
+ months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
+ '_'
+ ),
+ monthsShort: function (m, format) {
+ if (!m) {
+ return monthsShortDot;
+ } else if (/-MMM-/.test(format)) {
+ return monthsShort[m.month()];
+ } else {
+ return monthsShortDot[m.month()];
+ }
+ },
+ monthsRegex: monthsRegex,
+ monthsShortRegex: monthsRegex,
+ monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+ monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY H:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
+ },
+ calendar: {
+ sameDay: function () {
+ return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ nextDay: function () {
+ return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ nextWeek: function () {
+ return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ lastDay: function () {
+ return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ lastWeek: function () {
+ return (
+ '[el] dddd [pasado a la' +
+ (this.hours() !== 1 ? 's' : '') +
+ '] LT'
+ );
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'en %s',
+ past: 'hace %s',
+ s: 'unos segundos',
+ ss: '%d segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'una hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un año',
+ yy: '%d años',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ invalidDate: 'Fecha invalida',
+ });
+
+ return es;
+
+ })));
+
+
+ /***/ }),
+ /* 371 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Spanish (Dominican Republic) [es-do]
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
+ '_'
+ ),
+ monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
+ monthsParse = [
+ /^ene/i,
+ /^feb/i,
+ /^mar/i,
+ /^abr/i,
+ /^may/i,
+ /^jun/i,
+ /^jul/i,
+ /^ago/i,
+ /^sep/i,
+ /^oct/i,
+ /^nov/i,
+ /^dic/i,
+ ],
+ monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+ var esDo = moment.defineLocale('es-do', {
+ months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
+ '_'
+ ),
+ monthsShort: function (m, format) {
+ if (!m) {
+ return monthsShortDot;
+ } else if (/-MMM-/.test(format)) {
+ return monthsShort[m.month()];
+ } else {
+ return monthsShortDot[m.month()];
+ }
+ },
+ monthsRegex: monthsRegex,
+ monthsShortRegex: monthsRegex,
+ monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+ monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY h:mm A',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: function () {
+ return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ nextDay: function () {
+ return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ nextWeek: function () {
+ return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ lastDay: function () {
+ return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ lastWeek: function () {
+ return (
+ '[el] dddd [pasado a la' +
+ (this.hours() !== 1 ? 's' : '') +
+ '] LT'
+ );
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'en %s',
+ past: 'hace %s',
+ s: 'unos segundos',
+ ss: '%d segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'una hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un año',
+ yy: '%d años',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return esDo;
+
+ })));
+
+
+ /***/ }),
+ /* 372 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Spanish (United States) [es-us]
+ //! author : bustta : https://github.com/bustta
+ //! author : chrisrodz : https://github.com/chrisrodz
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
+ '_'
+ ),
+ monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
+ monthsParse = [
+ /^ene/i,
+ /^feb/i,
+ /^mar/i,
+ /^abr/i,
+ /^may/i,
+ /^jun/i,
+ /^jul/i,
+ /^ago/i,
+ /^sep/i,
+ /^oct/i,
+ /^nov/i,
+ /^dic/i,
+ ],
+ monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+ var esUs = moment.defineLocale('es-us', {
+ months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
+ '_'
+ ),
+ monthsShort: function (m, format) {
+ if (!m) {
+ return monthsShortDot;
+ } else if (/-MMM-/.test(format)) {
+ return monthsShort[m.month()];
+ } else {
+ return monthsShortDot[m.month()];
+ }
+ },
+ monthsRegex: monthsRegex,
+ monthsShortRegex: monthsRegex,
+ monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+ monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'MM/DD/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY h:mm A',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: function () {
+ return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ nextDay: function () {
+ return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ nextWeek: function () {
+ return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ lastDay: function () {
+ return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
+ },
+ lastWeek: function () {
+ return (
+ '[el] dddd [pasado a la' +
+ (this.hours() !== 1 ? 's' : '') +
+ '] LT'
+ );
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'en %s',
+ past: 'hace %s',
+ s: 'unos segundos',
+ ss: '%d segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'una hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un año',
+ yy: '%d años',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return esUs;
+
+ })));
+
+
+ /***/ }),
+ /* 373 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Estonian [et]
+ //! author : Henry Kehlmann : https://github.com/madhenry
+ //! improvements : Illimar Tambek : https://github.com/ragulka
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
+ ss: [number + 'sekundi', number + 'sekundit'],
+ m: ['ühe minuti', 'üks minut'],
+ mm: [number + ' minuti', number + ' minutit'],
+ h: ['ühe tunni', 'tund aega', 'üks tund'],
+ hh: [number + ' tunni', number + ' tundi'],
+ d: ['ühe päeva', 'üks päev'],
+ M: ['kuu aja', 'kuu aega', 'üks kuu'],
+ MM: [number + ' kuu', number + ' kuud'],
+ y: ['ühe aasta', 'aasta', 'üks aasta'],
+ yy: [number + ' aasta', number + ' aastat'],
+ };
+ if (withoutSuffix) {
+ return format[key][2] ? format[key][2] : format[key][1];
+ }
+ return isFuture ? format[key][0] : format[key][1];
+ }
+
+ var et = moment.defineLocale('et', {
+ months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(
+ '_'
+ ),
+ monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(
+ '_'
+ ),
+ weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(
+ '_'
+ ),
+ weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
+ weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[Täna,] LT',
+ nextDay: '[Homme,] LT',
+ nextWeek: '[Järgmine] dddd LT',
+ lastDay: '[Eile,] LT',
+ lastWeek: '[Eelmine] dddd LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s pärast',
+ past: '%s tagasi',
+ s: processRelativeTime,
+ ss: processRelativeTime,
+ m: processRelativeTime,
+ mm: processRelativeTime,
+ h: processRelativeTime,
+ hh: processRelativeTime,
+ d: processRelativeTime,
+ dd: '%d päeva',
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return et;
+
+ })));
+
+
+ /***/ }),
+ /* 374 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Basque [eu]
+ //! author : Eneko Illarramendi : https://github.com/eillarra
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var eu = moment.defineLocale('eu', {
+ months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(
+ '_'
+ ),
+ monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(
+ '_'
+ ),
+ weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
+ weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY[ko] MMMM[ren] D[a]',
+ LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+ LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+ l: 'YYYY-M-D',
+ ll: 'YYYY[ko] MMM D[a]',
+ lll: 'YYYY[ko] MMM D[a] HH:mm',
+ llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',
+ },
+ calendar: {
+ sameDay: '[gaur] LT[etan]',
+ nextDay: '[bihar] LT[etan]',
+ nextWeek: 'dddd LT[etan]',
+ lastDay: '[atzo] LT[etan]',
+ lastWeek: '[aurreko] dddd LT[etan]',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s barru',
+ past: 'duela %s',
+ s: 'segundo batzuk',
+ ss: '%d segundo',
+ m: 'minutu bat',
+ mm: '%d minutu',
+ h: 'ordu bat',
+ hh: '%d ordu',
+ d: 'egun bat',
+ dd: '%d egun',
+ M: 'hilabete bat',
+ MM: '%d hilabete',
+ y: 'urte bat',
+ yy: '%d urte',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return eu;
+
+ })));
+
+
+ /***/ }),
+ /* 375 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Persian [fa]
+ //! author : Ebrahim Byagowi : https://github.com/ebraminio
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '۱',
+ '2': '۲',
+ '3': '۳',
+ '4': '۴',
+ '5': '۵',
+ '6': '۶',
+ '7': '۷',
+ '8': '۸',
+ '9': '۹',
+ '0': '۰',
+ },
+ numberMap = {
+ '۱': '1',
+ '۲': '2',
+ '۳': '3',
+ '۴': '4',
+ '۵': '5',
+ '۶': '6',
+ '۷': '7',
+ '۸': '8',
+ '۹': '9',
+ '۰': '0',
+ };
+
+ var fa = moment.defineLocale('fa', {
+ months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
+ '_'
+ ),
+ monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
+ '_'
+ ),
+ weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
+ '_'
+ ),
+ weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
+ '_'
+ ),
+ weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /قبل از ظهر|بعد از ظهر/,
+ isPM: function (input) {
+ return /بعد از ظهر/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'قبل از ظهر';
+ } else {
+ return 'بعد از ظهر';
+ }
+ },
+ calendar: {
+ sameDay: '[امروز ساعت] LT',
+ nextDay: '[فردا ساعت] LT',
+ nextWeek: 'dddd [ساعت] LT',
+ lastDay: '[دیروز ساعت] LT',
+ lastWeek: 'dddd [پیش] [ساعت] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'در %s',
+ past: '%s پیش',
+ s: 'چند ثانیه',
+ ss: '%d ثانیه',
+ m: 'یک دقیقه',
+ mm: '%d دقیقه',
+ h: 'یک ساعت',
+ hh: '%d ساعت',
+ d: 'یک روز',
+ dd: '%d روز',
+ M: 'یک ماه',
+ MM: '%d ماه',
+ y: 'یک سال',
+ yy: '%d سال',
+ },
+ preparse: function (string) {
+ return string
+ .replace(/[۰-۹]/g, function (match) {
+ return numberMap[match];
+ })
+ .replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string
+ .replace(/\d/g, function (match) {
+ return symbolMap[match];
+ })
+ .replace(/,/g, '،');
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}م/,
+ ordinal: '%dم',
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return fa;
+
+ })));
+
+
+ /***/ }),
+ /* 376 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Finnish [fi]
+ //! author : Tarmo Aidantausta : https://github.com/bleadof
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(
+ ' '
+ ),
+ numbersFuture = [
+ 'nolla',
+ 'yhden',
+ 'kahden',
+ 'kolmen',
+ 'neljän',
+ 'viiden',
+ 'kuuden',
+ numbersPast[7],
+ numbersPast[8],
+ numbersPast[9],
+ ];
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = '';
+ switch (key) {
+ case 's':
+ return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
+ case 'ss':
+ return isFuture ? 'sekunnin' : 'sekuntia';
+ case 'm':
+ return isFuture ? 'minuutin' : 'minuutti';
+ case 'mm':
+ result = isFuture ? 'minuutin' : 'minuuttia';
+ break;
+ case 'h':
+ return isFuture ? 'tunnin' : 'tunti';
+ case 'hh':
+ result = isFuture ? 'tunnin' : 'tuntia';
+ break;
+ case 'd':
+ return isFuture ? 'päivän' : 'päivä';
+ case 'dd':
+ result = isFuture ? 'päivän' : 'päivää';
+ break;
+ case 'M':
+ return isFuture ? 'kuukauden' : 'kuukausi';
+ case 'MM':
+ result = isFuture ? 'kuukauden' : 'kuukautta';
+ break;
+ case 'y':
+ return isFuture ? 'vuoden' : 'vuosi';
+ case 'yy':
+ result = isFuture ? 'vuoden' : 'vuotta';
+ break;
+ }
+ result = verbalNumber(number, isFuture) + ' ' + result;
+ return result;
+ }
+ function verbalNumber(number, isFuture) {
+ return number < 10
+ ? isFuture
+ ? numbersFuture[number]
+ : numbersPast[number]
+ : number;
+ }
+
+ var fi = moment.defineLocale('fi', {
+ months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(
+ '_'
+ ),
+ monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(
+ '_'
+ ),
+ weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(
+ '_'
+ ),
+ weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
+ weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
+ longDateFormat: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD.MM.YYYY',
+ LL: 'Do MMMM[ta] YYYY',
+ LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
+ LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
+ l: 'D.M.YYYY',
+ ll: 'Do MMM YYYY',
+ lll: 'Do MMM YYYY, [klo] HH.mm',
+ llll: 'ddd, Do MMM YYYY, [klo] HH.mm',
+ },
+ calendar: {
+ sameDay: '[tänään] [klo] LT',
+ nextDay: '[huomenna] [klo] LT',
+ nextWeek: 'dddd [klo] LT',
+ lastDay: '[eilen] [klo] LT',
+ lastWeek: '[viime] dddd[na] [klo] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s päästä',
+ past: '%s sitten',
+ s: translate,
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return fi;
+
+ })));
+
+
+ /***/ }),
+ /* 377 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Filipino [fil]
+ //! author : Dan Hagman : https://github.com/hagmandan
+ //! author : Matthew Co : https://github.com/matthewdeeco
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var fil = moment.defineLocale('fil', {
+ months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
+ '_'
+ ),
+ monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+ weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
+ '_'
+ ),
+ weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+ weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'MM/D/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY HH:mm',
+ LLLL: 'dddd, MMMM DD, YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: 'LT [ngayong araw]',
+ nextDay: '[Bukas ng] LT',
+ nextWeek: 'LT [sa susunod na] dddd',
+ lastDay: 'LT [kahapon]',
+ lastWeek: 'LT [noong nakaraang] dddd',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'sa loob ng %s',
+ past: '%s ang nakalipas',
+ s: 'ilang segundo',
+ ss: '%d segundo',
+ m: 'isang minuto',
+ mm: '%d minuto',
+ h: 'isang oras',
+ hh: '%d oras',
+ d: 'isang araw',
+ dd: '%d araw',
+ M: 'isang buwan',
+ MM: '%d buwan',
+ y: 'isang taon',
+ yy: '%d taon',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}/,
+ ordinal: function (number) {
+ return number;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return fil;
+
+ })));
+
+
+ /***/ }),
+ /* 378 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Faroese [fo]
+ //! author : Ragnar Johannesen : https://github.com/ragnar123
+ //! author : Kristian Sakarisson : https://github.com/sakarisson
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var fo = moment.defineLocale('fo', {
+ months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+ weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(
+ '_'
+ ),
+ weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
+ weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D. MMMM, YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Í dag kl.] LT',
+ nextDay: '[Í morgin kl.] LT',
+ nextWeek: 'dddd [kl.] LT',
+ lastDay: '[Í gjár kl.] LT',
+ lastWeek: '[síðstu] dddd [kl] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'um %s',
+ past: '%s síðani',
+ s: 'fá sekund',
+ ss: '%d sekundir',
+ m: 'ein minuttur',
+ mm: '%d minuttir',
+ h: 'ein tími',
+ hh: '%d tímar',
+ d: 'ein dagur',
+ dd: '%d dagar',
+ M: 'ein mánaður',
+ MM: '%d mánaðir',
+ y: 'eitt ár',
+ yy: '%d ár',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return fo;
+
+ })));
+
+
+ /***/ }),
+ /* 379 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : French [fr]
+ //! author : John Fischer : https://github.com/jfroffice
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var fr = moment.defineLocale('fr', {
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
+ '_'
+ ),
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Aujourd’hui à] LT',
+ nextDay: '[Demain à] LT',
+ nextWeek: 'dddd [à] LT',
+ lastDay: '[Hier à] LT',
+ lastWeek: 'dddd [dernier à] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dans %s',
+ past: 'il y a %s',
+ s: 'quelques secondes',
+ ss: '%d secondes',
+ m: 'une minute',
+ mm: '%d minutes',
+ h: 'une heure',
+ hh: '%d heures',
+ d: 'un jour',
+ dd: '%d jours',
+ M: 'un mois',
+ MM: '%d mois',
+ y: 'un an',
+ yy: '%d ans',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ // TODO: Return 'e' when day of month > 1. Move this case inside
+ // block for masculine words below.
+ // See https://github.com/moment/moment/issues/3375
+ case 'D':
+ return number + (number === 1 ? 'er' : '');
+
+ // Words with masculine grammatical gender: mois, trimestre, jour
+ default:
+ case 'M':
+ case 'Q':
+ case 'DDD':
+ case 'd':
+ return number + (number === 1 ? 'er' : 'e');
+
+ // Words with feminine grammatical gender: semaine
+ case 'w':
+ case 'W':
+ return number + (number === 1 ? 're' : 'e');
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return fr;
+
+ })));
+
+
+ /***/ }),
+ /* 380 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : French (Canada) [fr-ca]
+ //! author : Jonathan Abourbih : https://github.com/jonbca
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var frCa = moment.defineLocale('fr-ca', {
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
+ '_'
+ ),
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Aujourd’hui à] LT',
+ nextDay: '[Demain à] LT',
+ nextWeek: 'dddd [à] LT',
+ lastDay: '[Hier à] LT',
+ lastWeek: 'dddd [dernier à] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dans %s',
+ past: 'il y a %s',
+ s: 'quelques secondes',
+ ss: '%d secondes',
+ m: 'une minute',
+ mm: '%d minutes',
+ h: 'une heure',
+ hh: '%d heures',
+ d: 'un jour',
+ dd: '%d jours',
+ M: 'un mois',
+ MM: '%d mois',
+ y: 'un an',
+ yy: '%d ans',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ // Words with masculine grammatical gender: mois, trimestre, jour
+ default:
+ case 'M':
+ case 'Q':
+ case 'D':
+ case 'DDD':
+ case 'd':
+ return number + (number === 1 ? 'er' : 'e');
+
+ // Words with feminine grammatical gender: semaine
+ case 'w':
+ case 'W':
+ return number + (number === 1 ? 're' : 'e');
+ }
+ },
+ });
+
+ return frCa;
+
+ })));
+
+
+ /***/ }),
+ /* 381 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : French (Switzerland) [fr-ch]
+ //! author : Gaspard Bucher : https://github.com/gaspard
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var frCh = moment.defineLocale('fr-ch', {
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
+ '_'
+ ),
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Aujourd’hui à] LT',
+ nextDay: '[Demain à] LT',
+ nextWeek: 'dddd [à] LT',
+ lastDay: '[Hier à] LT',
+ lastWeek: 'dddd [dernier à] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dans %s',
+ past: 'il y a %s',
+ s: 'quelques secondes',
+ ss: '%d secondes',
+ m: 'une minute',
+ mm: '%d minutes',
+ h: 'une heure',
+ hh: '%d heures',
+ d: 'un jour',
+ dd: '%d jours',
+ M: 'un mois',
+ MM: '%d mois',
+ y: 'un an',
+ yy: '%d ans',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ // Words with masculine grammatical gender: mois, trimestre, jour
+ default:
+ case 'M':
+ case 'Q':
+ case 'D':
+ case 'DDD':
+ case 'd':
+ return number + (number === 1 ? 'er' : 'e');
+
+ // Words with feminine grammatical gender: semaine
+ case 'w':
+ case 'W':
+ return number + (number === 1 ? 're' : 'e');
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return frCh;
+
+ })));
+
+
+ /***/ }),
+ /* 382 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Frisian [fy]
+ //! author : Robin van der Vliet : https://github.com/robin0van0der0v
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(
+ '_'
+ ),
+ monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(
+ '_'
+ );
+
+ var fy = moment.defineLocale('fy', {
+ months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(
+ '_'
+ ),
+ monthsShort: function (m, format) {
+ if (!m) {
+ return monthsShortWithDots;
+ } else if (/-MMM-/.test(format)) {
+ return monthsShortWithoutDots[m.month()];
+ } else {
+ return monthsShortWithDots[m.month()];
+ }
+ },
+ monthsParseExact: true,
+ weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(
+ '_'
+ ),
+ weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
+ weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[hjoed om] LT',
+ nextDay: '[moarn om] LT',
+ nextWeek: 'dddd [om] LT',
+ lastDay: '[juster om] LT',
+ lastWeek: '[ôfrûne] dddd [om] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'oer %s',
+ past: '%s lyn',
+ s: 'in pear sekonden',
+ ss: '%d sekonden',
+ m: 'ien minút',
+ mm: '%d minuten',
+ h: 'ien oere',
+ hh: '%d oeren',
+ d: 'ien dei',
+ dd: '%d dagen',
+ M: 'ien moanne',
+ MM: '%d moannen',
+ y: 'ien jier',
+ yy: '%d jierren',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+ ordinal: function (number) {
+ return (
+ number +
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
+ );
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return fy;
+
+ })));
+
+
+ /***/ }),
+ /* 383 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Irish or Irish Gaelic [ga]
+ //! author : André Silva : https://github.com/askpt
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = [
+ 'Eanáir',
+ 'Feabhra',
+ 'Márta',
+ 'Aibreán',
+ 'Bealtaine',
+ 'Meitheamh',
+ 'Iúil',
+ 'Lúnasa',
+ 'Meán Fómhair',
+ 'Deireadh Fómhair',
+ 'Samhain',
+ 'Nollaig',
+ ],
+ monthsShort = [
+ 'Ean',
+ 'Feabh',
+ 'Márt',
+ 'Aib',
+ 'Beal',
+ 'Meith',
+ 'Iúil',
+ 'Lún',
+ 'M.F.',
+ 'D.F.',
+ 'Samh',
+ 'Noll',
+ ],
+ weekdays = [
+ 'Dé Domhnaigh',
+ 'Dé Luain',
+ 'Dé Máirt',
+ 'Dé Céadaoin',
+ 'Déardaoin',
+ 'Dé hAoine',
+ 'Dé Sathairn',
+ ],
+ weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],
+ weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];
+
+ var ga = moment.defineLocale('ga', {
+ months: months,
+ monthsShort: monthsShort,
+ monthsParseExact: true,
+ weekdays: weekdays,
+ weekdaysShort: weekdaysShort,
+ weekdaysMin: weekdaysMin,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Inniu ag] LT',
+ nextDay: '[Amárach ag] LT',
+ nextWeek: 'dddd [ag] LT',
+ lastDay: '[Inné ag] LT',
+ lastWeek: 'dddd [seo caite] [ag] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'i %s',
+ past: '%s ó shin',
+ s: 'cúpla soicind',
+ ss: '%d soicind',
+ m: 'nóiméad',
+ mm: '%d nóiméad',
+ h: 'uair an chloig',
+ hh: '%d uair an chloig',
+ d: 'lá',
+ dd: '%d lá',
+ M: 'mí',
+ MM: '%d míonna',
+ y: 'bliain',
+ yy: '%d bliain',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
+ ordinal: function (number) {
+ var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return ga;
+
+ })));
+
+
+ /***/ }),
+ /* 384 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Scottish Gaelic [gd]
+ //! author : Jon Ashdown : https://github.com/jonashdown
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = [
+ 'Am Faoilleach',
+ 'An Gearran',
+ 'Am Màrt',
+ 'An Giblean',
+ 'An Cèitean',
+ 'An t-Ògmhios',
+ 'An t-Iuchar',
+ 'An Lùnastal',
+ 'An t-Sultain',
+ 'An Dàmhair',
+ 'An t-Samhain',
+ 'An Dùbhlachd',
+ ],
+ monthsShort = [
+ 'Faoi',
+ 'Gear',
+ 'Màrt',
+ 'Gibl',
+ 'Cèit',
+ 'Ògmh',
+ 'Iuch',
+ 'Lùn',
+ 'Sult',
+ 'Dàmh',
+ 'Samh',
+ 'Dùbh',
+ ],
+ weekdays = [
+ 'Didòmhnaich',
+ 'Diluain',
+ 'Dimàirt',
+ 'Diciadain',
+ 'Diardaoin',
+ 'Dihaoine',
+ 'Disathairne',
+ ],
+ weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],
+ weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
+
+ var gd = moment.defineLocale('gd', {
+ months: months,
+ monthsShort: monthsShort,
+ monthsParseExact: true,
+ weekdays: weekdays,
+ weekdaysShort: weekdaysShort,
+ weekdaysMin: weekdaysMin,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[An-diugh aig] LT',
+ nextDay: '[A-màireach aig] LT',
+ nextWeek: 'dddd [aig] LT',
+ lastDay: '[An-dè aig] LT',
+ lastWeek: 'dddd [seo chaidh] [aig] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'ann an %s',
+ past: 'bho chionn %s',
+ s: 'beagan diogan',
+ ss: '%d diogan',
+ m: 'mionaid',
+ mm: '%d mionaidean',
+ h: 'uair',
+ hh: '%d uairean',
+ d: 'latha',
+ dd: '%d latha',
+ M: 'mìos',
+ MM: '%d mìosan',
+ y: 'bliadhna',
+ yy: '%d bliadhna',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
+ ordinal: function (number) {
+ var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return gd;
+
+ })));
+
+
+ /***/ }),
+ /* 385 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Galician [gl]
+ //! author : Juan G. Hurtado : https://github.com/juanghurtado
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var gl = moment.defineLocale('gl', {
+ months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(
+ '_'
+ ),
+ monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY H:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
+ },
+ calendar: {
+ sameDay: function () {
+ return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
+ },
+ nextDay: function () {
+ return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
+ },
+ nextWeek: function () {
+ return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
+ },
+ lastDay: function () {
+ return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';
+ },
+ lastWeek: function () {
+ return (
+ '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'
+ );
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: function (str) {
+ if (str.indexOf('un') === 0) {
+ return 'n' + str;
+ }
+ return 'en ' + str;
+ },
+ past: 'hai %s',
+ s: 'uns segundos',
+ ss: '%d segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'unha hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un ano',
+ yy: '%d anos',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return gl;
+
+ })));
+
+
+ /***/ }),
+ /* 386 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Konkani Devanagari script [gom-deva]
+ //! author : The Discoverer : https://github.com/WikiDiscoverer
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
+ ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
+ m: ['एका मिणटान', 'एक मिनूट'],
+ mm: [number + ' मिणटांनी', number + ' मिणटां'],
+ h: ['एका वरान', 'एक वर'],
+ hh: [number + ' वरांनी', number + ' वरां'],
+ d: ['एका दिसान', 'एक दीस'],
+ dd: [number + ' दिसांनी', number + ' दीस'],
+ M: ['एका म्हयन्यान', 'एक म्हयनो'],
+ MM: [number + ' म्हयन्यानी', number + ' म्हयने'],
+ y: ['एका वर्सान', 'एक वर्स'],
+ yy: [number + ' वर्सांनी', number + ' वर्सां'],
+ };
+ return isFuture ? format[key][0] : format[key][1];
+ }
+
+ var gomDeva = moment.defineLocale('gom-deva', {
+ months: {
+ standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
+ '_'
+ ),
+ format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(
+ '_'
+ ),
+ isFormat: /MMMM(\s)+D[oD]?/,
+ },
+ monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),
+ weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),
+ weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'A h:mm [वाजतां]',
+ LTS: 'A h:mm:ss [वाजतां]',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY A h:mm [वाजतां]',
+ LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',
+ llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',
+ },
+ calendar: {
+ sameDay: '[आयज] LT',
+ nextDay: '[फाल्यां] LT',
+ nextWeek: '[फुडलो] dddd[,] LT',
+ lastDay: '[काल] LT',
+ lastWeek: '[फाटलो] dddd[,] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s',
+ past: '%s आदीं',
+ s: processRelativeTime,
+ ss: processRelativeTime,
+ m: processRelativeTime,
+ mm: processRelativeTime,
+ h: processRelativeTime,
+ hh: processRelativeTime,
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ // the ordinal 'वेर' only applies to day of the month
+ case 'D':
+ return number + 'वेर';
+ default:
+ case 'M':
+ case 'Q':
+ case 'DDD':
+ case 'd':
+ case 'w':
+ case 'W':
+ return number;
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'राती') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'सकाळीं') {
+ return hour;
+ } else if (meridiem === 'दनपारां') {
+ return hour > 12 ? hour : hour + 12;
+ } else if (meridiem === 'सांजे') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'राती';
+ } else if (hour < 12) {
+ return 'सकाळीं';
+ } else if (hour < 16) {
+ return 'दनपारां';
+ } else if (hour < 20) {
+ return 'सांजे';
+ } else {
+ return 'राती';
+ }
+ },
+ });
+
+ return gomDeva;
+
+ })));
+
+
+ /***/ }),
+ /* 387 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Konkani Latin script [gom-latn]
+ //! author : The Discoverer : https://github.com/WikiDiscoverer
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ s: ['thoddea sekondamni', 'thodde sekond'],
+ ss: [number + ' sekondamni', number + ' sekond'],
+ m: ['eka mintan', 'ek minut'],
+ mm: [number + ' mintamni', number + ' mintam'],
+ h: ['eka voran', 'ek vor'],
+ hh: [number + ' voramni', number + ' voram'],
+ d: ['eka disan', 'ek dis'],
+ dd: [number + ' disamni', number + ' dis'],
+ M: ['eka mhoinean', 'ek mhoino'],
+ MM: [number + ' mhoineamni', number + ' mhoine'],
+ y: ['eka vorsan', 'ek voros'],
+ yy: [number + ' vorsamni', number + ' vorsam'],
+ };
+ return isFuture ? format[key][0] : format[key][1];
+ }
+
+ var gomLatn = moment.defineLocale('gom-latn', {
+ months: {
+ standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(
+ '_'
+ ),
+ format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(
+ '_'
+ ),
+ isFormat: /MMMM(\s)+D[oD]?/,
+ },
+ monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'),
+ weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
+ weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'A h:mm [vazta]',
+ LTS: 'A h:mm:ss [vazta]',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY A h:mm [vazta]',
+ LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',
+ llll: 'ddd, D MMM YYYY, A h:mm [vazta]',
+ },
+ calendar: {
+ sameDay: '[Aiz] LT',
+ nextDay: '[Faleam] LT',
+ nextWeek: '[Fuddlo] dddd[,] LT',
+ lastDay: '[Kal] LT',
+ lastWeek: '[Fattlo] dddd[,] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s',
+ past: '%s adim',
+ s: processRelativeTime,
+ ss: processRelativeTime,
+ m: processRelativeTime,
+ mm: processRelativeTime,
+ h: processRelativeTime,
+ hh: processRelativeTime,
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(er)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ // the ordinal 'er' only applies to day of the month
+ case 'D':
+ return number + 'er';
+ default:
+ case 'M':
+ case 'Q':
+ case 'DDD':
+ case 'd':
+ case 'w':
+ case 'W':
+ return number;
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ meridiemParse: /rati|sokallim|donparam|sanje/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'rati') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'sokallim') {
+ return hour;
+ } else if (meridiem === 'donparam') {
+ return hour > 12 ? hour : hour + 12;
+ } else if (meridiem === 'sanje') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'rati';
+ } else if (hour < 12) {
+ return 'sokallim';
+ } else if (hour < 16) {
+ return 'donparam';
+ } else if (hour < 20) {
+ return 'sanje';
+ } else {
+ return 'rati';
+ }
+ },
+ });
+
+ return gomLatn;
+
+ })));
+
+
+ /***/ }),
+ /* 388 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Gujarati [gu]
+ //! author : Kaushik Thanki : https://github.com/Kaushik1987
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '૧',
+ '2': '૨',
+ '3': '૩',
+ '4': '૪',
+ '5': '૫',
+ '6': '૬',
+ '7': '૭',
+ '8': '૮',
+ '9': '૯',
+ '0': '૦',
+ },
+ numberMap = {
+ '૧': '1',
+ '૨': '2',
+ '૩': '3',
+ '૪': '4',
+ '૫': '5',
+ '૬': '6',
+ '૭': '7',
+ '૮': '8',
+ '૯': '9',
+ '૦': '0',
+ };
+
+ var gu = moment.defineLocale('gu', {
+ months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(
+ '_'
+ ),
+ monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(
+ '_'
+ ),
+ weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
+ weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm વાગ્યે',
+ LTS: 'A h:mm:ss વાગ્યે',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',
+ },
+ calendar: {
+ sameDay: '[આજ] LT',
+ nextDay: '[કાલે] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[ગઇકાલે] LT',
+ lastWeek: '[પાછલા] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s મા',
+ past: '%s પેહલા',
+ s: 'અમુક પળો',
+ ss: '%d સેકંડ',
+ m: 'એક મિનિટ',
+ mm: '%d મિનિટ',
+ h: 'એક કલાક',
+ hh: '%d કલાક',
+ d: 'એક દિવસ',
+ dd: '%d દિવસ',
+ M: 'એક મહિનો',
+ MM: '%d મહિનો',
+ y: 'એક વર્ષ',
+ yy: '%d વર્ષ',
+ },
+ preparse: function (string) {
+ return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
+ meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'રાત') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'સવાર') {
+ return hour;
+ } else if (meridiem === 'બપોર') {
+ return hour >= 10 ? hour : hour + 12;
+ } else if (meridiem === 'સાંજ') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'રાત';
+ } else if (hour < 10) {
+ return 'સવાર';
+ } else if (hour < 17) {
+ return 'બપોર';
+ } else if (hour < 20) {
+ return 'સાંજ';
+ } else {
+ return 'રાત';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return gu;
+
+ })));
+
+
+ /***/ }),
+ /* 389 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Hebrew [he]
+ //! author : Tomer Cohen : https://github.com/tomer
+ //! author : Moshe Simantov : https://github.com/DevelopmentIL
+ //! author : Tal Ater : https://github.com/TalAter
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var he = moment.defineLocale('he', {
+ months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(
+ '_'
+ ),
+ monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(
+ '_'
+ ),
+ weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
+ weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
+ weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [ב]MMMM YYYY',
+ LLL: 'D [ב]MMMM YYYY HH:mm',
+ LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
+ l: 'D/M/YYYY',
+ ll: 'D MMM YYYY',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd, D MMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[היום ב־]LT',
+ nextDay: '[מחר ב־]LT',
+ nextWeek: 'dddd [בשעה] LT',
+ lastDay: '[אתמול ב־]LT',
+ lastWeek: '[ביום] dddd [האחרון בשעה] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'בעוד %s',
+ past: 'לפני %s',
+ s: 'מספר שניות',
+ ss: '%d שניות',
+ m: 'דקה',
+ mm: '%d דקות',
+ h: 'שעה',
+ hh: function (number) {
+ if (number === 2) {
+ return 'שעתיים';
+ }
+ return number + ' שעות';
+ },
+ d: 'יום',
+ dd: function (number) {
+ if (number === 2) {
+ return 'יומיים';
+ }
+ return number + ' ימים';
+ },
+ M: 'חודש',
+ MM: function (number) {
+ if (number === 2) {
+ return 'חודשיים';
+ }
+ return number + ' חודשים';
+ },
+ y: 'שנה',
+ yy: function (number) {
+ if (number === 2) {
+ return 'שנתיים';
+ } else if (number % 10 === 0 && number !== 10) {
+ return number + ' שנה';
+ }
+ return number + ' שנים';
+ },
+ },
+ meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
+ isPM: function (input) {
+ return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 5) {
+ return 'לפנות בוקר';
+ } else if (hour < 10) {
+ return 'בבוקר';
+ } else if (hour < 12) {
+ return isLower ? 'לפנה"צ' : 'לפני הצהריים';
+ } else if (hour < 18) {
+ return isLower ? 'אחה"צ' : 'אחרי הצהריים';
+ } else {
+ return 'בערב';
+ }
+ },
+ });
+
+ return he;
+
+ })));
+
+
+ /***/ }),
+ /* 390 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Hindi [hi]
+ //! author : Mayank Singhal : https://github.com/mayanksinghal
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '१',
+ '2': '२',
+ '3': '३',
+ '4': '४',
+ '5': '५',
+ '6': '६',
+ '7': '७',
+ '8': '८',
+ '9': '९',
+ '0': '०',
+ },
+ numberMap = {
+ '१': '1',
+ '२': '2',
+ '३': '3',
+ '४': '4',
+ '५': '5',
+ '६': '6',
+ '७': '7',
+ '८': '8',
+ '९': '9',
+ '०': '0',
+ };
+
+ var hi = moment.defineLocale('hi', {
+ months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
+ '_'
+ ),
+ monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+ weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
+ weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm बजे',
+ LTS: 'A h:mm:ss बजे',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm बजे',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',
+ },
+ calendar: {
+ sameDay: '[आज] LT',
+ nextDay: '[कल] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[कल] LT',
+ lastWeek: '[पिछले] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s में',
+ past: '%s पहले',
+ s: 'कुछ ही क्षण',
+ ss: '%d सेकंड',
+ m: 'एक मिनट',
+ mm: '%d मिनट',
+ h: 'एक घंटा',
+ hh: '%d घंटे',
+ d: 'एक दिन',
+ dd: '%d दिन',
+ M: 'एक महीने',
+ MM: '%d महीने',
+ y: 'एक वर्ष',
+ yy: '%d वर्ष',
+ },
+ preparse: function (string) {
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ // Hindi notation for meridiems are quite fuzzy in practice. While there exists
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
+ meridiemParse: /रात|सुबह|दोपहर|शाम/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'रात') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'सुबह') {
+ return hour;
+ } else if (meridiem === 'दोपहर') {
+ return hour >= 10 ? hour : hour + 12;
+ } else if (meridiem === 'शाम') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'रात';
+ } else if (hour < 10) {
+ return 'सुबह';
+ } else if (hour < 17) {
+ return 'दोपहर';
+ } else if (hour < 20) {
+ return 'शाम';
+ } else {
+ return 'रात';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return hi;
+
+ })));
+
+
+ /***/ }),
+ /* 391 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Croatian [hr]
+ //! author : Bojan Marković : https://github.com/bmarkovic
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function translate(number, withoutSuffix, key) {
+ var result = number + ' ';
+ switch (key) {
+ case 'ss':
+ if (number === 1) {
+ result += 'sekunda';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'sekunde';
+ } else {
+ result += 'sekundi';
+ }
+ return result;
+ case 'm':
+ return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+ case 'mm':
+ if (number === 1) {
+ result += 'minuta';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'minute';
+ } else {
+ result += 'minuta';
+ }
+ return result;
+ case 'h':
+ return withoutSuffix ? 'jedan sat' : 'jednog sata';
+ case 'hh':
+ if (number === 1) {
+ result += 'sat';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'sata';
+ } else {
+ result += 'sati';
+ }
+ return result;
+ case 'dd':
+ if (number === 1) {
+ result += 'dan';
+ } else {
+ result += 'dana';
+ }
+ return result;
+ case 'MM':
+ if (number === 1) {
+ result += 'mjesec';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'mjeseca';
+ } else {
+ result += 'mjeseci';
+ }
+ return result;
+ case 'yy':
+ if (number === 1) {
+ result += 'godina';
+ } else if (number === 2 || number === 3 || number === 4) {
+ result += 'godine';
+ } else {
+ result += 'godina';
+ }
+ return result;
+ }
+ }
+
+ var hr = moment.defineLocale('hr', {
+ months: {
+ format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(
+ '_'
+ ),
+ standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(
+ '_'
+ ),
+ },
+ monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
+ '_'
+ ),
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'Do MMMM YYYY',
+ LLL: 'Do MMMM YYYY H:mm',
+ LLLL: 'dddd, Do MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[danas u] LT',
+ nextDay: '[sutra u] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[u] [nedjelju] [u] LT';
+ case 3:
+ return '[u] [srijedu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ },
+ lastDay: '[jučer u] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[prošlu] [nedjelju] [u] LT';
+ case 3:
+ return '[prošlu] [srijedu] [u] LT';
+ case 6:
+ return '[prošle] [subote] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[prošli] dddd [u] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'prije %s',
+ s: 'par sekundi',
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: 'dan',
+ dd: translate,
+ M: 'mjesec',
+ MM: translate,
+ y: 'godinu',
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return hr;
+
+ })));
+
+
+ /***/ }),
+ /* 392 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Hungarian [hu]
+ //! author : Adam Brunner : https://github.com/adambrunner
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(
+ ' '
+ );
+ function translate(number, withoutSuffix, key, isFuture) {
+ var num = number;
+ switch (key) {
+ case 's':
+ return isFuture || withoutSuffix
+ ? 'néhány másodperc'
+ : 'néhány másodperce';
+ case 'ss':
+ return num + (isFuture || withoutSuffix)
+ ? ' másodperc'
+ : ' másodperce';
+ case 'm':
+ return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
+ case 'mm':
+ return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
+ case 'h':
+ return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
+ case 'hh':
+ return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
+ case 'd':
+ return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
+ case 'dd':
+ return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
+ case 'M':
+ return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+ case 'MM':
+ return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+ case 'y':
+ return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
+ case 'yy':
+ return num + (isFuture || withoutSuffix ? ' év' : ' éve');
+ }
+ return '';
+ }
+ function week(isFuture) {
+ return (
+ (isFuture ? '' : '[múlt] ') +
+ '[' +
+ weekEndings[this.day()] +
+ '] LT[-kor]'
+ );
+ }
+
+ var hu = moment.defineLocale('hu', {
+ months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split(
+ '_'
+ ),
+ weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
+ weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
+ weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'YYYY.MM.DD.',
+ LL: 'YYYY. MMMM D.',
+ LLL: 'YYYY. MMMM D. H:mm',
+ LLLL: 'YYYY. MMMM D., dddd H:mm',
+ },
+ meridiemParse: /de|du/i,
+ isPM: function (input) {
+ return input.charAt(1).toLowerCase() === 'u';
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 12) {
+ return isLower === true ? 'de' : 'DE';
+ } else {
+ return isLower === true ? 'du' : 'DU';
+ }
+ },
+ calendar: {
+ sameDay: '[ma] LT[-kor]',
+ nextDay: '[holnap] LT[-kor]',
+ nextWeek: function () {
+ return week.call(this, true);
+ },
+ lastDay: '[tegnap] LT[-kor]',
+ lastWeek: function () {
+ return week.call(this, false);
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s múlva',
+ past: '%s',
+ s: translate,
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return hu;
+
+ })));
+
+
+ /***/ }),
+ /* 393 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Armenian [hy-am]
+ //! author : Armendarabyan : https://github.com/armendarabyan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var hyAm = moment.defineLocale('hy-am', {
+ months: {
+ format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(
+ '_'
+ ),
+ standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(
+ '_'
+ ),
+ },
+ monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
+ weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(
+ '_'
+ ),
+ weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
+ weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY թ.',
+ LLL: 'D MMMM YYYY թ., HH:mm',
+ LLLL: 'dddd, D MMMM YYYY թ., HH:mm',
+ },
+ calendar: {
+ sameDay: '[այսօր] LT',
+ nextDay: '[վաղը] LT',
+ lastDay: '[երեկ] LT',
+ nextWeek: function () {
+ return 'dddd [օրը ժամը] LT';
+ },
+ lastWeek: function () {
+ return '[անցած] dddd [օրը ժամը] LT';
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s հետո',
+ past: '%s առաջ',
+ s: 'մի քանի վայրկյան',
+ ss: '%d վայրկյան',
+ m: 'րոպե',
+ mm: '%d րոպե',
+ h: 'ժամ',
+ hh: '%d ժամ',
+ d: 'օր',
+ dd: '%d օր',
+ M: 'ամիս',
+ MM: '%d ամիս',
+ y: 'տարի',
+ yy: '%d տարի',
+ },
+ meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
+ isPM: function (input) {
+ return /^(ցերեկվա|երեկոյան)$/.test(input);
+ },
+ meridiem: function (hour) {
+ if (hour < 4) {
+ return 'գիշերվա';
+ } else if (hour < 12) {
+ return 'առավոտվա';
+ } else if (hour < 17) {
+ return 'ցերեկվա';
+ } else {
+ return 'երեկոյան';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'DDD':
+ case 'w':
+ case 'W':
+ case 'DDDo':
+ if (number === 1) {
+ return number + '-ին';
+ }
+ return number + '-րդ';
+ default:
+ return number;
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return hyAm;
+
+ })));
+
+
+ /***/ }),
+ /* 394 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Indonesian [id]
+ //! author : Mohammad Satrio Utomo : https://github.com/tyok
+ //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var id = moment.defineLocale('id', {
+ months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
+ weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
+ weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
+ weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
+ longDateFormat: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
+ },
+ meridiemParse: /pagi|siang|sore|malam/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'pagi') {
+ return hour;
+ } else if (meridiem === 'siang') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === 'sore' || meridiem === 'malam') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'pagi';
+ } else if (hours < 15) {
+ return 'siang';
+ } else if (hours < 19) {
+ return 'sore';
+ } else {
+ return 'malam';
+ }
+ },
+ calendar: {
+ sameDay: '[Hari ini pukul] LT',
+ nextDay: '[Besok pukul] LT',
+ nextWeek: 'dddd [pukul] LT',
+ lastDay: '[Kemarin pukul] LT',
+ lastWeek: 'dddd [lalu pukul] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dalam %s',
+ past: '%s yang lalu',
+ s: 'beberapa detik',
+ ss: '%d detik',
+ m: 'semenit',
+ mm: '%d menit',
+ h: 'sejam',
+ hh: '%d jam',
+ d: 'sehari',
+ dd: '%d hari',
+ M: 'sebulan',
+ MM: '%d bulan',
+ y: 'setahun',
+ yy: '%d tahun',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return id;
+
+ })));
+
+
+ /***/ }),
+ /* 395 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Icelandic [is]
+ //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function plural(n) {
+ if (n % 100 === 11) {
+ return true;
+ } else if (n % 10 === 1) {
+ return false;
+ }
+ return true;
+ }
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + ' ';
+ switch (key) {
+ case 's':
+ return withoutSuffix || isFuture
+ ? 'nokkrar sekúndur'
+ : 'nokkrum sekúndum';
+ case 'ss':
+ if (plural(number)) {
+ return (
+ result +
+ (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')
+ );
+ }
+ return result + 'sekúnda';
+ case 'm':
+ return withoutSuffix ? 'mínúta' : 'mínútu';
+ case 'mm':
+ if (plural(number)) {
+ return (
+ result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')
+ );
+ } else if (withoutSuffix) {
+ return result + 'mínúta';
+ }
+ return result + 'mínútu';
+ case 'hh':
+ if (plural(number)) {
+ return (
+ result +
+ (withoutSuffix || isFuture
+ ? 'klukkustundir'
+ : 'klukkustundum')
+ );
+ }
+ return result + 'klukkustund';
+ case 'd':
+ if (withoutSuffix) {
+ return 'dagur';
+ }
+ return isFuture ? 'dag' : 'degi';
+ case 'dd':
+ if (plural(number)) {
+ if (withoutSuffix) {
+ return result + 'dagar';
+ }
+ return result + (isFuture ? 'daga' : 'dögum');
+ } else if (withoutSuffix) {
+ return result + 'dagur';
+ }
+ return result + (isFuture ? 'dag' : 'degi');
+ case 'M':
+ if (withoutSuffix) {
+ return 'mánuður';
+ }
+ return isFuture ? 'mánuð' : 'mánuði';
+ case 'MM':
+ if (plural(number)) {
+ if (withoutSuffix) {
+ return result + 'mánuðir';
+ }
+ return result + (isFuture ? 'mánuði' : 'mánuðum');
+ } else if (withoutSuffix) {
+ return result + 'mánuður';
+ }
+ return result + (isFuture ? 'mánuð' : 'mánuði');
+ case 'y':
+ return withoutSuffix || isFuture ? 'ár' : 'ári';
+ case 'yy':
+ if (plural(number)) {
+ return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
+ }
+ return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
+ }
+ }
+
+ var is = moment.defineLocale('is', {
+ months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
+ weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(
+ '_'
+ ),
+ weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
+ weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY [kl.] H:mm',
+ LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',
+ },
+ calendar: {
+ sameDay: '[í dag kl.] LT',
+ nextDay: '[á morgun kl.] LT',
+ nextWeek: 'dddd [kl.] LT',
+ lastDay: '[í gær kl.] LT',
+ lastWeek: '[síðasta] dddd [kl.] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'eftir %s',
+ past: 'fyrir %s síðan',
+ s: translate,
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: 'klukkustund',
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return is;
+
+ })));
+
+
+ /***/ }),
+ /* 396 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Italian [it]
+ //! author : Lorenzo : https://github.com/aliem
+ //! author: Mattia Larentis: https://github.com/nostalgiaz
+ //! author: Marco : https://github.com/Manfre98
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var it = moment.defineLocale('it', {
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
+ '_'
+ ),
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
+ '_'
+ ),
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: function () {
+ return (
+ '[Oggi a' +
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
+ ']LT'
+ );
+ },
+ nextDay: function () {
+ return (
+ '[Domani a' +
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
+ ']LT'
+ );
+ },
+ nextWeek: function () {
+ return (
+ 'dddd [a' +
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
+ ']LT'
+ );
+ },
+ lastDay: function () {
+ return (
+ '[Ieri a' +
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
+ ']LT'
+ );
+ },
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return (
+ '[La scorsa] dddd [a' +
+ (this.hours() > 1
+ ? 'lle '
+ : this.hours() === 0
+ ? ' '
+ : "ll'") +
+ ']LT'
+ );
+ default:
+ return (
+ '[Lo scorso] dddd [a' +
+ (this.hours() > 1
+ ? 'lle '
+ : this.hours() === 0
+ ? ' '
+ : "ll'") +
+ ']LT'
+ );
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: function (s) {
+ return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
+ },
+ past: '%s fa',
+ s: 'alcuni secondi',
+ ss: '%d secondi',
+ m: 'un minuto',
+ mm: '%d minuti',
+ h: "un'ora",
+ hh: '%d ore',
+ d: 'un giorno',
+ dd: '%d giorni',
+ M: 'un mese',
+ MM: '%d mesi',
+ y: 'un anno',
+ yy: '%d anni',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return it;
+
+ })));
+
+
+ /***/ }),
+ /* 397 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Italian (Switzerland) [it-ch]
+ //! author : xfh : https://github.com/xfh
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var itCh = moment.defineLocale('it-ch', {
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
+ '_'
+ ),
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
+ '_'
+ ),
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Oggi alle] LT',
+ nextDay: '[Domani alle] LT',
+ nextWeek: 'dddd [alle] LT',
+ lastDay: '[Ieri alle] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[la scorsa] dddd [alle] LT';
+ default:
+ return '[lo scorso] dddd [alle] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: function (s) {
+ return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
+ },
+ past: '%s fa',
+ s: 'alcuni secondi',
+ ss: '%d secondi',
+ m: 'un minuto',
+ mm: '%d minuti',
+ h: "un'ora",
+ hh: '%d ore',
+ d: 'un giorno',
+ dd: '%d giorni',
+ M: 'un mese',
+ MM: '%d mesi',
+ y: 'un anno',
+ yy: '%d anni',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return itCh;
+
+ })));
+
+
+ /***/ }),
+ /* 398 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Japanese [ja]
+ //! author : LI Long : https://github.com/baryon
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ja = moment.defineLocale('ja', {
+ eras: [
+ {
+ since: '2019-05-01',
+ offset: 1,
+ name: '令和',
+ narrow: '㋿',
+ abbr: 'R',
+ },
+ {
+ since: '1989-01-08',
+ until: '2019-04-30',
+ offset: 1,
+ name: '平成',
+ narrow: '㍻',
+ abbr: 'H',
+ },
+ {
+ since: '1926-12-25',
+ until: '1989-01-07',
+ offset: 1,
+ name: '昭和',
+ narrow: '㍼',
+ abbr: 'S',
+ },
+ {
+ since: '1912-07-30',
+ until: '1926-12-24',
+ offset: 1,
+ name: '大正',
+ narrow: '㍽',
+ abbr: 'T',
+ },
+ {
+ since: '1873-01-01',
+ until: '1912-07-29',
+ offset: 6,
+ name: '明治',
+ narrow: '㍾',
+ abbr: 'M',
+ },
+ {
+ since: '0001-01-01',
+ until: '1873-12-31',
+ offset: 1,
+ name: '西暦',
+ narrow: 'AD',
+ abbr: 'AD',
+ },
+ {
+ since: '0000-12-31',
+ until: -Infinity,
+ offset: 1,
+ name: '紀元前',
+ narrow: 'BC',
+ abbr: 'BC',
+ },
+ ],
+ eraYearOrdinalRegex: /(元|\d+)年/,
+ eraYearOrdinalParse: function (input, match) {
+ return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);
+ },
+ months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
+ '_'
+ ),
+ weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
+ weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
+ weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日 dddd HH:mm',
+ l: 'YYYY/MM/DD',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日(ddd) HH:mm',
+ },
+ meridiemParse: /午前|午後/i,
+ isPM: function (input) {
+ return input === '午後';
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return '午前';
+ } else {
+ return '午後';
+ }
+ },
+ calendar: {
+ sameDay: '[今日] LT',
+ nextDay: '[明日] LT',
+ nextWeek: function (now) {
+ if (now.week() !== this.week()) {
+ return '[来週]dddd LT';
+ } else {
+ return 'dddd LT';
+ }
+ },
+ lastDay: '[昨日] LT',
+ lastWeek: function (now) {
+ if (this.week() !== now.week()) {
+ return '[先週]dddd LT';
+ } else {
+ return 'dddd LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}日/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'y':
+ return number === 1 ? '元年' : number + '年';
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '日';
+ default:
+ return number;
+ }
+ },
+ relativeTime: {
+ future: '%s後',
+ past: '%s前',
+ s: '数秒',
+ ss: '%d秒',
+ m: '1分',
+ mm: '%d分',
+ h: '1時間',
+ hh: '%d時間',
+ d: '1日',
+ dd: '%d日',
+ M: '1ヶ月',
+ MM: '%dヶ月',
+ y: '1年',
+ yy: '%d年',
+ },
+ });
+
+ return ja;
+
+ })));
+
+
+ /***/ }),
+ /* 399 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Javanese [jv]
+ //! author : Rony Lantip : https://github.com/lantip
+ //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var jv = moment.defineLocale('jv', {
+ months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
+ weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
+ weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
+ weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
+ longDateFormat: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
+ },
+ meridiemParse: /enjing|siyang|sonten|ndalu/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'enjing') {
+ return hour;
+ } else if (meridiem === 'siyang') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'enjing';
+ } else if (hours < 15) {
+ return 'siyang';
+ } else if (hours < 19) {
+ return 'sonten';
+ } else {
+ return 'ndalu';
+ }
+ },
+ calendar: {
+ sameDay: '[Dinten puniko pukul] LT',
+ nextDay: '[Mbenjang pukul] LT',
+ nextWeek: 'dddd [pukul] LT',
+ lastDay: '[Kala wingi pukul] LT',
+ lastWeek: 'dddd [kepengker pukul] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'wonten ing %s',
+ past: '%s ingkang kepengker',
+ s: 'sawetawis detik',
+ ss: '%d detik',
+ m: 'setunggal menit',
+ mm: '%d menit',
+ h: 'setunggal jam',
+ hh: '%d jam',
+ d: 'sedinten',
+ dd: '%d dinten',
+ M: 'sewulan',
+ MM: '%d wulan',
+ y: 'setaun',
+ yy: '%d taun',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return jv;
+
+ })));
+
+
+ /***/ }),
+ /* 400 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Georgian [ka]
+ //! author : Irakli Janiashvili : https://github.com/IrakliJani
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ka = moment.defineLocale('ka', {
+ months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(
+ '_'
+ ),
+ monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
+ weekdays: {
+ standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(
+ '_'
+ ),
+ format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(
+ '_'
+ ),
+ isFormat: /(წინა|შემდეგ)/,
+ },
+ weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
+ weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[დღეს] LT[-ზე]',
+ nextDay: '[ხვალ] LT[-ზე]',
+ lastDay: '[გუშინ] LT[-ზე]',
+ nextWeek: '[შემდეგ] dddd LT[-ზე]',
+ lastWeek: '[წინა] dddd LT-ზე',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: function (s) {
+ return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (
+ $0,
+ $1,
+ $2
+ ) {
+ return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';
+ });
+ },
+ past: function (s) {
+ if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {
+ return s.replace(/(ი|ე)$/, 'ის წინ');
+ }
+ if (/წელი/.test(s)) {
+ return s.replace(/წელი$/, 'წლის წინ');
+ }
+ return s;
+ },
+ s: 'რამდენიმე წამი',
+ ss: '%d წამი',
+ m: 'წუთი',
+ mm: '%d წუთი',
+ h: 'საათი',
+ hh: '%d საათი',
+ d: 'დღე',
+ dd: '%d დღე',
+ M: 'თვე',
+ MM: '%d თვე',
+ y: 'წელი',
+ yy: '%d წელი',
+ },
+ dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
+ ordinal: function (number) {
+ if (number === 0) {
+ return number;
+ }
+ if (number === 1) {
+ return number + '-ლი';
+ }
+ if (
+ number < 20 ||
+ (number <= 100 && number % 20 === 0) ||
+ number % 100 === 0
+ ) {
+ return 'მე-' + number;
+ }
+ return number + '-ე';
+ },
+ week: {
+ dow: 1,
+ doy: 7,
+ },
+ });
+
+ return ka;
+
+ })));
+
+
+ /***/ }),
+ /* 401 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Kazakh [kk]
+ //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var suffixes = {
+ 0: '-ші',
+ 1: '-ші',
+ 2: '-ші',
+ 3: '-ші',
+ 4: '-ші',
+ 5: '-ші',
+ 6: '-шы',
+ 7: '-ші',
+ 8: '-ші',
+ 9: '-шы',
+ 10: '-шы',
+ 20: '-шы',
+ 30: '-шы',
+ 40: '-шы',
+ 50: '-ші',
+ 60: '-шы',
+ 70: '-ші',
+ 80: '-ші',
+ 90: '-шы',
+ 100: '-ші',
+ };
+
+ var kk = moment.defineLocale('kk', {
+ months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(
+ '_'
+ ),
+ monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
+ weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(
+ '_'
+ ),
+ weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
+ weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Бүгін сағат] LT',
+ nextDay: '[Ертең сағат] LT',
+ nextWeek: 'dddd [сағат] LT',
+ lastDay: '[Кеше сағат] LT',
+ lastWeek: '[Өткен аптаның] dddd [сағат] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s ішінде',
+ past: '%s бұрын',
+ s: 'бірнеше секунд',
+ ss: '%d секунд',
+ m: 'бір минут',
+ mm: '%d минут',
+ h: 'бір сағат',
+ hh: '%d сағат',
+ d: 'бір күн',
+ dd: '%d күн',
+ M: 'бір ай',
+ MM: '%d ай',
+ y: 'бір жыл',
+ yy: '%d жыл',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
+ ordinal: function (number) {
+ var a = number % 10,
+ b = number >= 100 ? 100 : null;
+ return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return kk;
+
+ })));
+
+
+ /***/ }),
+ /* 402 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Cambodian [km]
+ //! author : Kruy Vanna : https://github.com/kruyvanna
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '១',
+ '2': '២',
+ '3': '៣',
+ '4': '៤',
+ '5': '៥',
+ '6': '៦',
+ '7': '៧',
+ '8': '៨',
+ '9': '៩',
+ '0': '០',
+ },
+ numberMap = {
+ '១': '1',
+ '២': '2',
+ '៣': '3',
+ '៤': '4',
+ '៥': '5',
+ '៦': '6',
+ '៧': '7',
+ '៨': '8',
+ '៩': '9',
+ '០': '0',
+ };
+
+ var km = moment.defineLocale('km', {
+ months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+ '_'
+ ),
+ monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+ '_'
+ ),
+ weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
+ weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+ weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /ព្រឹក|ល្ងាច/,
+ isPM: function (input) {
+ return input === 'ល្ងាច';
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ព្រឹក';
+ } else {
+ return 'ល្ងាច';
+ }
+ },
+ calendar: {
+ sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
+ nextDay: '[ស្អែក ម៉ោង] LT',
+ nextWeek: 'dddd [ម៉ោង] LT',
+ lastDay: '[ម្សិលមិញ ម៉ោង] LT',
+ lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%sទៀត',
+ past: '%sមុន',
+ s: 'ប៉ុន្មានវិនាទី',
+ ss: '%d វិនាទី',
+ m: 'មួយនាទី',
+ mm: '%d នាទី',
+ h: 'មួយម៉ោង',
+ hh: '%d ម៉ោង',
+ d: 'មួយថ្ងៃ',
+ dd: '%d ថ្ងៃ',
+ M: 'មួយខែ',
+ MM: '%d ខែ',
+ y: 'មួយឆ្នាំ',
+ yy: '%d ឆ្នាំ',
+ },
+ dayOfMonthOrdinalParse: /ទី\d{1,2}/,
+ ordinal: 'ទី%d',
+ preparse: function (string) {
+ return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return km;
+
+ })));
+
+
+ /***/ }),
+ /* 403 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Kannada [kn]
+ //! author : Rajeev Naik : https://github.com/rajeevnaikte
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '೧',
+ '2': '೨',
+ '3': '೩',
+ '4': '೪',
+ '5': '೫',
+ '6': '೬',
+ '7': '೭',
+ '8': '೮',
+ '9': '೯',
+ '0': '೦',
+ },
+ numberMap = {
+ '೧': '1',
+ '೨': '2',
+ '೩': '3',
+ '೪': '4',
+ '೫': '5',
+ '೬': '6',
+ '೭': '7',
+ '೮': '8',
+ '೯': '9',
+ '೦': '0',
+ };
+
+ var kn = moment.defineLocale('kn', {
+ months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(
+ '_'
+ ),
+ monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(
+ '_'
+ ),
+ weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
+ weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm',
+ },
+ calendar: {
+ sameDay: '[ಇಂದು] LT',
+ nextDay: '[ನಾಳೆ] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[ನಿನ್ನೆ] LT',
+ lastWeek: '[ಕೊನೆಯ] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s ನಂತರ',
+ past: '%s ಹಿಂದೆ',
+ s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
+ ss: '%d ಸೆಕೆಂಡುಗಳು',
+ m: 'ಒಂದು ನಿಮಿಷ',
+ mm: '%d ನಿಮಿಷ',
+ h: 'ಒಂದು ಗಂಟೆ',
+ hh: '%d ಗಂಟೆ',
+ d: 'ಒಂದು ದಿನ',
+ dd: '%d ದಿನ',
+ M: 'ಒಂದು ತಿಂಗಳು',
+ MM: '%d ತಿಂಗಳು',
+ y: 'ಒಂದು ವರ್ಷ',
+ yy: '%d ವರ್ಷ',
+ },
+ preparse: function (string) {
+ return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'ರಾತ್ರಿ') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
+ return hour;
+ } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
+ return hour >= 10 ? hour : hour + 12;
+ } else if (meridiem === 'ಸಂಜೆ') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'ರಾತ್ರಿ';
+ } else if (hour < 10) {
+ return 'ಬೆಳಿಗ್ಗೆ';
+ } else if (hour < 17) {
+ return 'ಮಧ್ಯಾಹ್ನ';
+ } else if (hour < 20) {
+ return 'ಸಂಜೆ';
+ } else {
+ return 'ರಾತ್ರಿ';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
+ ordinal: function (number) {
+ return number + 'ನೇ';
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return kn;
+
+ })));
+
+
+ /***/ }),
+ /* 404 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Korean [ko]
+ //! author : Kyungwook, Park : https://github.com/kyungw00k
+ //! author : Jeeeyul Lee
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ko = moment.defineLocale('ko', {
+ months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
+ monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(
+ '_'
+ ),
+ weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
+ weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
+ weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'YYYY.MM.DD.',
+ LL: 'YYYY년 MMMM D일',
+ LLL: 'YYYY년 MMMM D일 A h:mm',
+ LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
+ l: 'YYYY.MM.DD.',
+ ll: 'YYYY년 MMMM D일',
+ lll: 'YYYY년 MMMM D일 A h:mm',
+ llll: 'YYYY년 MMMM D일 dddd A h:mm',
+ },
+ calendar: {
+ sameDay: '오늘 LT',
+ nextDay: '내일 LT',
+ nextWeek: 'dddd LT',
+ lastDay: '어제 LT',
+ lastWeek: '지난주 dddd LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s 후',
+ past: '%s 전',
+ s: '몇 초',
+ ss: '%d초',
+ m: '1분',
+ mm: '%d분',
+ h: '한 시간',
+ hh: '%d시간',
+ d: '하루',
+ dd: '%d일',
+ M: '한 달',
+ MM: '%d달',
+ y: '일 년',
+ yy: '%d년',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '일';
+ case 'M':
+ return number + '월';
+ case 'w':
+ case 'W':
+ return number + '주';
+ default:
+ return number;
+ }
+ },
+ meridiemParse: /오전|오후/,
+ isPM: function (token) {
+ return token === '오후';
+ },
+ meridiem: function (hour, minute, isUpper) {
+ return hour < 12 ? '오전' : '오후';
+ },
+ });
+
+ return ko;
+
+ })));
+
+
+ /***/ }),
+ /* 405 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Kurdish [ku]
+ //! author : Shahram Mebashar : https://github.com/ShahramMebashar
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '١',
+ '2': '٢',
+ '3': '٣',
+ '4': '٤',
+ '5': '٥',
+ '6': '٦',
+ '7': '٧',
+ '8': '٨',
+ '9': '٩',
+ '0': '٠',
+ },
+ numberMap = {
+ '١': '1',
+ '٢': '2',
+ '٣': '3',
+ '٤': '4',
+ '٥': '5',
+ '٦': '6',
+ '٧': '7',
+ '٨': '8',
+ '٩': '9',
+ '٠': '0',
+ },
+ months = [
+ 'کانونی دووەم',
+ 'شوبات',
+ 'ئازار',
+ 'نیسان',
+ 'ئایار',
+ 'حوزەیران',
+ 'تەمموز',
+ 'ئاب',
+ 'ئەیلوول',
+ 'تشرینی یەكەم',
+ 'تشرینی دووەم',
+ 'كانونی یەکەم',
+ ];
+
+ var ku = moment.defineLocale('ku', {
+ months: months,
+ monthsShort: months,
+ weekdays: 'یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه'.split(
+ '_'
+ ),
+ weekdaysShort: 'یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه'.split(
+ '_'
+ ),
+ weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /ئێواره|بهیانی/,
+ isPM: function (input) {
+ return /ئێواره/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'بهیانی';
+ } else {
+ return 'ئێواره';
+ }
+ },
+ calendar: {
+ sameDay: '[ئهمرۆ كاتژمێر] LT',
+ nextDay: '[بهیانی كاتژمێر] LT',
+ nextWeek: 'dddd [كاتژمێر] LT',
+ lastDay: '[دوێنێ كاتژمێر] LT',
+ lastWeek: 'dddd [كاتژمێر] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'له %s',
+ past: '%s',
+ s: 'چهند چركهیهك',
+ ss: 'چركه %d',
+ m: 'یهك خولهك',
+ mm: '%d خولهك',
+ h: 'یهك كاتژمێر',
+ hh: '%d كاتژمێر',
+ d: 'یهك ڕۆژ',
+ dd: '%d ڕۆژ',
+ M: 'یهك مانگ',
+ MM: '%d مانگ',
+ y: 'یهك ساڵ',
+ yy: '%d ساڵ',
+ },
+ preparse: function (string) {
+ return string
+ .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+ return numberMap[match];
+ })
+ .replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string
+ .replace(/\d/g, function (match) {
+ return symbolMap[match];
+ })
+ .replace(/,/g, '،');
+ },
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return ku;
+
+ })));
+
+
+ /***/ }),
+ /* 406 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Kyrgyz [ky]
+ //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var suffixes = {
+ 0: '-чү',
+ 1: '-чи',
+ 2: '-чи',
+ 3: '-чү',
+ 4: '-чү',
+ 5: '-чи',
+ 6: '-чы',
+ 7: '-чи',
+ 8: '-чи',
+ 9: '-чу',
+ 10: '-чу',
+ 20: '-чы',
+ 30: '-чу',
+ 40: '-чы',
+ 50: '-чү',
+ 60: '-чы',
+ 70: '-чи',
+ 80: '-чи',
+ 90: '-чу',
+ 100: '-чү',
+ };
+
+ var ky = moment.defineLocale('ky', {
+ months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
+ '_'
+ ),
+ monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(
+ '_'
+ ),
+ weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(
+ '_'
+ ),
+ weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
+ weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Бүгүн саат] LT',
+ nextDay: '[Эртең саат] LT',
+ nextWeek: 'dddd [саат] LT',
+ lastDay: '[Кечээ саат] LT',
+ lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s ичинде',
+ past: '%s мурун',
+ s: 'бирнече секунд',
+ ss: '%d секунд',
+ m: 'бир мүнөт',
+ mm: '%d мүнөт',
+ h: 'бир саат',
+ hh: '%d саат',
+ d: 'бир күн',
+ dd: '%d күн',
+ M: 'бир ай',
+ MM: '%d ай',
+ y: 'бир жыл',
+ yy: '%d жыл',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
+ ordinal: function (number) {
+ var a = number % 10,
+ b = number >= 100 ? 100 : null;
+ return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return ky;
+
+ })));
+
+
+ /***/ }),
+ /* 407 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Luxembourgish [lb]
+ //! author : mweimerskirch : https://github.com/mweimerskirch
+ //! author : David Raison : https://github.com/kwisatz
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ m: ['eng Minutt', 'enger Minutt'],
+ h: ['eng Stonn', 'enger Stonn'],
+ d: ['een Dag', 'engem Dag'],
+ M: ['ee Mount', 'engem Mount'],
+ y: ['ee Joer', 'engem Joer'],
+ };
+ return withoutSuffix ? format[key][0] : format[key][1];
+ }
+ function processFutureTime(string) {
+ var number = string.substr(0, string.indexOf(' '));
+ if (eifelerRegelAppliesToNumber(number)) {
+ return 'a ' + string;
+ }
+ return 'an ' + string;
+ }
+ function processPastTime(string) {
+ var number = string.substr(0, string.indexOf(' '));
+ if (eifelerRegelAppliesToNumber(number)) {
+ return 'viru ' + string;
+ }
+ return 'virun ' + string;
+ }
+ /**
+ * Returns true if the word before the given number loses the '-n' ending.
+ * e.g. 'an 10 Deeg' but 'a 5 Deeg'
+ *
+ * @param number {integer}
+ * @returns {boolean}
+ */
+ function eifelerRegelAppliesToNumber(number) {
+ number = parseInt(number, 10);
+ if (isNaN(number)) {
+ return false;
+ }
+ if (number < 0) {
+ // Negative Number --> always true
+ return true;
+ } else if (number < 10) {
+ // Only 1 digit
+ if (4 <= number && number <= 7) {
+ return true;
+ }
+ return false;
+ } else if (number < 100) {
+ // 2 digits
+ var lastDigit = number % 10,
+ firstDigit = number / 10;
+ if (lastDigit === 0) {
+ return eifelerRegelAppliesToNumber(firstDigit);
+ }
+ return eifelerRegelAppliesToNumber(lastDigit);
+ } else if (number < 10000) {
+ // 3 or 4 digits --> recursively check first digit
+ while (number >= 10) {
+ number = number / 10;
+ }
+ return eifelerRegelAppliesToNumber(number);
+ } else {
+ // Anything larger than 4 digits: recursively check first n-3 digits
+ number = number / 1000;
+ return eifelerRegelAppliesToNumber(number);
+ }
+ }
+
+ var lb = moment.defineLocale('lb', {
+ months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(
+ '_'
+ ),
+ weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
+ weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm [Auer]',
+ LTS: 'H:mm:ss [Auer]',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm [Auer]',
+ LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',
+ },
+ calendar: {
+ sameDay: '[Haut um] LT',
+ sameElse: 'L',
+ nextDay: '[Muer um] LT',
+ nextWeek: 'dddd [um] LT',
+ lastDay: '[Gëschter um] LT',
+ lastWeek: function () {
+ // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
+ switch (this.day()) {
+ case 2:
+ case 4:
+ return '[Leschten] dddd [um] LT';
+ default:
+ return '[Leschte] dddd [um] LT';
+ }
+ },
+ },
+ relativeTime: {
+ future: processFutureTime,
+ past: processPastTime,
+ s: 'e puer Sekonnen',
+ ss: '%d Sekonnen',
+ m: processRelativeTime,
+ mm: '%d Minutten',
+ h: processRelativeTime,
+ hh: '%d Stonnen',
+ d: processRelativeTime,
+ dd: '%d Deeg',
+ M: processRelativeTime,
+ MM: '%d Méint',
+ y: processRelativeTime,
+ yy: '%d Joer',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return lb;
+
+ })));
+
+
+ /***/ }),
+ /* 408 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Lao [lo]
+ //! author : Ryan Hart : https://github.com/ryanhart2
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var lo = moment.defineLocale('lo', {
+ months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
+ '_'
+ ),
+ monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
+ '_'
+ ),
+ weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+ weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+ weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'ວັນdddd D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
+ isPM: function (input) {
+ return input === 'ຕອນແລງ';
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ຕອນເຊົ້າ';
+ } else {
+ return 'ຕອນແລງ';
+ }
+ },
+ calendar: {
+ sameDay: '[ມື້ນີ້ເວລາ] LT',
+ nextDay: '[ມື້ອື່ນເວລາ] LT',
+ nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
+ lastDay: '[ມື້ວານນີ້ເວລາ] LT',
+ lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'ອີກ %s',
+ past: '%sຜ່ານມາ',
+ s: 'ບໍ່ເທົ່າໃດວິນາທີ',
+ ss: '%d ວິນາທີ',
+ m: '1 ນາທີ',
+ mm: '%d ນາທີ',
+ h: '1 ຊົ່ວໂມງ',
+ hh: '%d ຊົ່ວໂມງ',
+ d: '1 ມື້',
+ dd: '%d ມື້',
+ M: '1 ເດືອນ',
+ MM: '%d ເດືອນ',
+ y: '1 ປີ',
+ yy: '%d ປີ',
+ },
+ dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
+ ordinal: function (number) {
+ return 'ທີ່' + number;
+ },
+ });
+
+ return lo;
+
+ })));
+
+
+ /***/ }),
+ /* 409 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Lithuanian [lt]
+ //! author : Mindaugas Mozūras : https://github.com/mmozuras
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var units = {
+ ss: 'sekundė_sekundžių_sekundes',
+ m: 'minutė_minutės_minutę',
+ mm: 'minutės_minučių_minutes',
+ h: 'valanda_valandos_valandą',
+ hh: 'valandos_valandų_valandas',
+ d: 'diena_dienos_dieną',
+ dd: 'dienos_dienų_dienas',
+ M: 'mėnuo_mėnesio_mėnesį',
+ MM: 'mėnesiai_mėnesių_mėnesius',
+ y: 'metai_metų_metus',
+ yy: 'metai_metų_metus',
+ };
+ function translateSeconds(number, withoutSuffix, key, isFuture) {
+ if (withoutSuffix) {
+ return 'kelios sekundės';
+ } else {
+ return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
+ }
+ }
+ function translateSingular(number, withoutSuffix, key, isFuture) {
+ return withoutSuffix
+ ? forms(key)[0]
+ : isFuture
+ ? forms(key)[1]
+ : forms(key)[2];
+ }
+ function special(number) {
+ return number % 10 === 0 || (number > 10 && number < 20);
+ }
+ function forms(key) {
+ return units[key].split('_');
+ }
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + ' ';
+ if (number === 1) {
+ return (
+ result + translateSingular(number, withoutSuffix, key[0], isFuture)
+ );
+ } else if (withoutSuffix) {
+ return result + (special(number) ? forms(key)[1] : forms(key)[0]);
+ } else {
+ if (isFuture) {
+ return result + forms(key)[1];
+ } else {
+ return result + (special(number) ? forms(key)[1] : forms(key)[2]);
+ }
+ }
+ }
+ var lt = moment.defineLocale('lt', {
+ months: {
+ format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(
+ '_'
+ ),
+ standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(
+ '_'
+ ),
+ isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,
+ },
+ monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
+ weekdays: {
+ format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(
+ '_'
+ ),
+ standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(
+ '_'
+ ),
+ isFormat: /dddd HH:mm/,
+ },
+ weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
+ weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY [m.] MMMM D [d.]',
+ LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+ LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+ l: 'YYYY-MM-DD',
+ ll: 'YYYY [m.] MMMM D [d.]',
+ lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+ llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',
+ },
+ calendar: {
+ sameDay: '[Šiandien] LT',
+ nextDay: '[Rytoj] LT',
+ nextWeek: 'dddd LT',
+ lastDay: '[Vakar] LT',
+ lastWeek: '[Praėjusį] dddd LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'po %s',
+ past: 'prieš %s',
+ s: translateSeconds,
+ ss: translate,
+ m: translateSingular,
+ mm: translate,
+ h: translateSingular,
+ hh: translate,
+ d: translateSingular,
+ dd: translate,
+ M: translateSingular,
+ MM: translate,
+ y: translateSingular,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-oji/,
+ ordinal: function (number) {
+ return number + '-oji';
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return lt;
+
+ })));
+
+
+ /***/ }),
+ /* 410 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Latvian [lv]
+ //! author : Kristaps Karlsons : https://github.com/skakri
+ //! author : Jānis Elmeris : https://github.com/JanisE
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var units = {
+ ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
+ m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+ mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+ h: 'stundas_stundām_stunda_stundas'.split('_'),
+ hh: 'stundas_stundām_stunda_stundas'.split('_'),
+ d: 'dienas_dienām_diena_dienas'.split('_'),
+ dd: 'dienas_dienām_diena_dienas'.split('_'),
+ M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+ MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+ y: 'gada_gadiem_gads_gadi'.split('_'),
+ yy: 'gada_gadiem_gads_gadi'.split('_'),
+ };
+ /**
+ * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
+ */
+ function format(forms, number, withoutSuffix) {
+ if (withoutSuffix) {
+ // E.g. "21 minūte", "3 minūtes".
+ return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
+ } else {
+ // E.g. "21 minūtes" as in "pēc 21 minūtes".
+ // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
+ return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
+ }
+ }
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ return number + ' ' + format(units[key], number, withoutSuffix);
+ }
+ function relativeTimeWithSingular(number, withoutSuffix, key) {
+ return format(units[key], number, withoutSuffix);
+ }
+ function relativeSeconds(number, withoutSuffix) {
+ return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
+ }
+
+ var lv = moment.defineLocale('lv', {
+ months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
+ weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(
+ '_'
+ ),
+ weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
+ weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY.',
+ LL: 'YYYY. [gada] D. MMMM',
+ LLL: 'YYYY. [gada] D. MMMM, HH:mm',
+ LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',
+ },
+ calendar: {
+ sameDay: '[Šodien pulksten] LT',
+ nextDay: '[Rīt pulksten] LT',
+ nextWeek: 'dddd [pulksten] LT',
+ lastDay: '[Vakar pulksten] LT',
+ lastWeek: '[Pagājušā] dddd [pulksten] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'pēc %s',
+ past: 'pirms %s',
+ s: relativeSeconds,
+ ss: relativeTimeWithPlural,
+ m: relativeTimeWithSingular,
+ mm: relativeTimeWithPlural,
+ h: relativeTimeWithSingular,
+ hh: relativeTimeWithPlural,
+ d: relativeTimeWithSingular,
+ dd: relativeTimeWithPlural,
+ M: relativeTimeWithSingular,
+ MM: relativeTimeWithPlural,
+ y: relativeTimeWithSingular,
+ yy: relativeTimeWithPlural,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return lv;
+
+ })));
+
+
+ /***/ }),
+ /* 411 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Montenegrin [me]
+ //! author : Miodrag Nikač : https://github.com/miodragnikac
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var translator = {
+ words: {
+ //Different grammatical cases
+ ss: ['sekund', 'sekunda', 'sekundi'],
+ m: ['jedan minut', 'jednog minuta'],
+ mm: ['minut', 'minuta', 'minuta'],
+ h: ['jedan sat', 'jednog sata'],
+ hh: ['sat', 'sata', 'sati'],
+ dd: ['dan', 'dana', 'dana'],
+ MM: ['mjesec', 'mjeseca', 'mjeseci'],
+ yy: ['godina', 'godine', 'godina'],
+ },
+ correctGrammaticalCase: function (number, wordKey) {
+ return number === 1
+ ? wordKey[0]
+ : number >= 2 && number <= 4
+ ? wordKey[1]
+ : wordKey[2];
+ },
+ translate: function (number, withoutSuffix, key) {
+ var wordKey = translator.words[key];
+ if (key.length === 1) {
+ return withoutSuffix ? wordKey[0] : wordKey[1];
+ } else {
+ return (
+ number +
+ ' ' +
+ translator.correctGrammaticalCase(number, wordKey)
+ );
+ }
+ },
+ };
+
+ var me = moment.defineLocale('me', {
+ months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
+ '_'
+ ),
+ monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
+ '_'
+ ),
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[danas u] LT',
+ nextDay: '[sjutra u] LT',
+
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[u] [nedjelju] [u] LT';
+ case 3:
+ return '[u] [srijedu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ },
+ lastDay: '[juče u] LT',
+ lastWeek: function () {
+ var lastWeekDays = [
+ '[prošle] [nedjelje] [u] LT',
+ '[prošlog] [ponedjeljka] [u] LT',
+ '[prošlog] [utorka] [u] LT',
+ '[prošle] [srijede] [u] LT',
+ '[prošlog] [četvrtka] [u] LT',
+ '[prošlog] [petka] [u] LT',
+ '[prošle] [subote] [u] LT',
+ ];
+ return lastWeekDays[this.day()];
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'prije %s',
+ s: 'nekoliko sekundi',
+ ss: translator.translate,
+ m: translator.translate,
+ mm: translator.translate,
+ h: translator.translate,
+ hh: translator.translate,
+ d: 'dan',
+ dd: translator.translate,
+ M: 'mjesec',
+ MM: translator.translate,
+ y: 'godinu',
+ yy: translator.translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return me;
+
+ })));
+
+
+ /***/ }),
+ /* 412 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Maori [mi]
+ //! author : John Corrigan : https://github.com/johnideal
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var mi = moment.defineLocale('mi', {
+ months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(
+ '_'
+ ),
+ monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(
+ '_'
+ ),
+ monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+ monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+ monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+ monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
+ weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
+ weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+ weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [i] HH:mm',
+ LLLL: 'dddd, D MMMM YYYY [i] HH:mm',
+ },
+ calendar: {
+ sameDay: '[i teie mahana, i] LT',
+ nextDay: '[apopo i] LT',
+ nextWeek: 'dddd [i] LT',
+ lastDay: '[inanahi i] LT',
+ lastWeek: 'dddd [whakamutunga i] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'i roto i %s',
+ past: '%s i mua',
+ s: 'te hēkona ruarua',
+ ss: '%d hēkona',
+ m: 'he meneti',
+ mm: '%d meneti',
+ h: 'te haora',
+ hh: '%d haora',
+ d: 'he ra',
+ dd: '%d ra',
+ M: 'he marama',
+ MM: '%d marama',
+ y: 'he tau',
+ yy: '%d tau',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return mi;
+
+ })));
+
+
+ /***/ }),
+ /* 413 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Macedonian [mk]
+ //! author : Borislav Mickov : https://github.com/B0k0
+ //! author : Sashko Todorov : https://github.com/bkyceh
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var mk = moment.defineLocale('mk', {
+ months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(
+ '_'
+ ),
+ monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
+ weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(
+ '_'
+ ),
+ weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
+ weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'D.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY H:mm',
+ LLLL: 'dddd, D MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[Денес во] LT',
+ nextDay: '[Утре во] LT',
+ nextWeek: '[Во] dddd [во] LT',
+ lastDay: '[Вчера во] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 6:
+ return '[Изминатата] dddd [во] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[Изминатиот] dddd [во] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'за %s',
+ past: 'пред %s',
+ s: 'неколку секунди',
+ ss: '%d секунди',
+ m: 'една минута',
+ mm: '%d минути',
+ h: 'еден час',
+ hh: '%d часа',
+ d: 'еден ден',
+ dd: '%d дена',
+ M: 'еден месец',
+ MM: '%d месеци',
+ y: 'една година',
+ yy: '%d години',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+ ordinal: function (number) {
+ var lastDigit = number % 10,
+ last2Digits = number % 100;
+ if (number === 0) {
+ return number + '-ев';
+ } else if (last2Digits === 0) {
+ return number + '-ен';
+ } else if (last2Digits > 10 && last2Digits < 20) {
+ return number + '-ти';
+ } else if (lastDigit === 1) {
+ return number + '-ви';
+ } else if (lastDigit === 2) {
+ return number + '-ри';
+ } else if (lastDigit === 7 || lastDigit === 8) {
+ return number + '-ми';
+ } else {
+ return number + '-ти';
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return mk;
+
+ })));
+
+
+ /***/ }),
+ /* 414 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Malayalam [ml]
+ //! author : Floyd Pink : https://github.com/floydpink
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ml = moment.defineLocale('ml', {
+ months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(
+ '_'
+ ),
+ monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(
+ '_'
+ ),
+ weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
+ weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm -നു',
+ LTS: 'A h:mm:ss -നു',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm -നു',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',
+ },
+ calendar: {
+ sameDay: '[ഇന്ന്] LT',
+ nextDay: '[നാളെ] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[ഇന്നലെ] LT',
+ lastWeek: '[കഴിഞ്ഞ] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s കഴിഞ്ഞ്',
+ past: '%s മുൻപ്',
+ s: 'അൽപ നിമിഷങ്ങൾ',
+ ss: '%d സെക്കൻഡ്',
+ m: 'ഒരു മിനിറ്റ്',
+ mm: '%d മിനിറ്റ്',
+ h: 'ഒരു മണിക്കൂർ',
+ hh: '%d മണിക്കൂർ',
+ d: 'ഒരു ദിവസം',
+ dd: '%d ദിവസം',
+ M: 'ഒരു മാസം',
+ MM: '%d മാസം',
+ y: 'ഒരു വർഷം',
+ yy: '%d വർഷം',
+ },
+ meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (
+ (meridiem === 'രാത്രി' && hour >= 4) ||
+ meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
+ meridiem === 'വൈകുന്നേരം'
+ ) {
+ return hour + 12;
+ } else {
+ return hour;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'രാത്രി';
+ } else if (hour < 12) {
+ return 'രാവിലെ';
+ } else if (hour < 17) {
+ return 'ഉച്ച കഴിഞ്ഞ്';
+ } else if (hour < 20) {
+ return 'വൈകുന്നേരം';
+ } else {
+ return 'രാത്രി';
+ }
+ },
+ });
+
+ return ml;
+
+ })));
+
+
+ /***/ }),
+ /* 415 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Mongolian [mn]
+ //! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function translate(number, withoutSuffix, key, isFuture) {
+ switch (key) {
+ case 's':
+ return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
+ case 'ss':
+ return number + (withoutSuffix ? ' секунд' : ' секундын');
+ case 'm':
+ case 'mm':
+ return number + (withoutSuffix ? ' минут' : ' минутын');
+ case 'h':
+ case 'hh':
+ return number + (withoutSuffix ? ' цаг' : ' цагийн');
+ case 'd':
+ case 'dd':
+ return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
+ case 'M':
+ case 'MM':
+ return number + (withoutSuffix ? ' сар' : ' сарын');
+ case 'y':
+ case 'yy':
+ return number + (withoutSuffix ? ' жил' : ' жилийн');
+ default:
+ return number;
+ }
+ }
+
+ var mn = moment.defineLocale('mn', {
+ months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(
+ '_'
+ ),
+ monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
+ weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
+ weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY оны MMMMын D',
+ LLL: 'YYYY оны MMMMын D HH:mm',
+ LLLL: 'dddd, YYYY оны MMMMын D HH:mm',
+ },
+ meridiemParse: /ҮӨ|ҮХ/i,
+ isPM: function (input) {
+ return input === 'ҮХ';
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ҮӨ';
+ } else {
+ return 'ҮХ';
+ }
+ },
+ calendar: {
+ sameDay: '[Өнөөдөр] LT',
+ nextDay: '[Маргааш] LT',
+ nextWeek: '[Ирэх] dddd LT',
+ lastDay: '[Өчигдөр] LT',
+ lastWeek: '[Өнгөрсөн] dddd LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s дараа',
+ past: '%s өмнө',
+ s: translate,
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + ' өдөр';
+ default:
+ return number;
+ }
+ },
+ });
+
+ return mn;
+
+ })));
+
+
+ /***/ }),
+ /* 416 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Marathi [mr]
+ //! author : Harshad Kale : https://github.com/kalehv
+ //! author : Vivek Athalye : https://github.com/vnathalye
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '१',
+ '2': '२',
+ '3': '३',
+ '4': '४',
+ '5': '५',
+ '6': '६',
+ '7': '७',
+ '8': '८',
+ '9': '९',
+ '0': '०',
+ },
+ numberMap = {
+ '१': '1',
+ '२': '2',
+ '३': '3',
+ '४': '4',
+ '५': '5',
+ '६': '6',
+ '७': '7',
+ '८': '8',
+ '९': '9',
+ '०': '0',
+ };
+
+ function relativeTimeMr(number, withoutSuffix, string, isFuture) {
+ var output = '';
+ if (withoutSuffix) {
+ switch (string) {
+ case 's':
+ output = 'काही सेकंद';
+ break;
+ case 'ss':
+ output = '%d सेकंद';
+ break;
+ case 'm':
+ output = 'एक मिनिट';
+ break;
+ case 'mm':
+ output = '%d मिनिटे';
+ break;
+ case 'h':
+ output = 'एक तास';
+ break;
+ case 'hh':
+ output = '%d तास';
+ break;
+ case 'd':
+ output = 'एक दिवस';
+ break;
+ case 'dd':
+ output = '%d दिवस';
+ break;
+ case 'M':
+ output = 'एक महिना';
+ break;
+ case 'MM':
+ output = '%d महिने';
+ break;
+ case 'y':
+ output = 'एक वर्ष';
+ break;
+ case 'yy':
+ output = '%d वर्षे';
+ break;
+ }
+ } else {
+ switch (string) {
+ case 's':
+ output = 'काही सेकंदां';
+ break;
+ case 'ss':
+ output = '%d सेकंदां';
+ break;
+ case 'm':
+ output = 'एका मिनिटा';
+ break;
+ case 'mm':
+ output = '%d मिनिटां';
+ break;
+ case 'h':
+ output = 'एका तासा';
+ break;
+ case 'hh':
+ output = '%d तासां';
+ break;
+ case 'd':
+ output = 'एका दिवसा';
+ break;
+ case 'dd':
+ output = '%d दिवसां';
+ break;
+ case 'M':
+ output = 'एका महिन्या';
+ break;
+ case 'MM':
+ output = '%d महिन्यां';
+ break;
+ case 'y':
+ output = 'एका वर्षा';
+ break;
+ case 'yy':
+ output = '%d वर्षां';
+ break;
+ }
+ }
+ return output.replace(/%d/i, number);
+ }
+
+ var mr = moment.defineLocale('mr', {
+ months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
+ '_'
+ ),
+ monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+ weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
+ weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm वाजता',
+ LTS: 'A h:mm:ss वाजता',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm वाजता',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',
+ },
+ calendar: {
+ sameDay: '[आज] LT',
+ nextDay: '[उद्या] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[काल] LT',
+ lastWeek: '[मागील] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%sमध्ये',
+ past: '%sपूर्वी',
+ s: relativeTimeMr,
+ ss: relativeTimeMr,
+ m: relativeTimeMr,
+ mm: relativeTimeMr,
+ h: relativeTimeMr,
+ hh: relativeTimeMr,
+ d: relativeTimeMr,
+ dd: relativeTimeMr,
+ M: relativeTimeMr,
+ MM: relativeTimeMr,
+ y: relativeTimeMr,
+ yy: relativeTimeMr,
+ },
+ preparse: function (string) {
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {
+ return hour;
+ } else if (
+ meridiem === 'दुपारी' ||
+ meridiem === 'सायंकाळी' ||
+ meridiem === 'रात्री'
+ ) {
+ return hour >= 12 ? hour : hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour >= 0 && hour < 6) {
+ return 'पहाटे';
+ } else if (hour < 12) {
+ return 'सकाळी';
+ } else if (hour < 17) {
+ return 'दुपारी';
+ } else if (hour < 20) {
+ return 'सायंकाळी';
+ } else {
+ return 'रात्री';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return mr;
+
+ })));
+
+
+ /***/ }),
+ /* 417 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Malay [ms]
+ //! author : Weldan Jamili : https://github.com/weldan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ms = moment.defineLocale('ms', {
+ months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+ weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+ weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+ weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+ longDateFormat: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
+ },
+ meridiemParse: /pagi|tengahari|petang|malam/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'pagi') {
+ return hour;
+ } else if (meridiem === 'tengahari') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === 'petang' || meridiem === 'malam') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'pagi';
+ } else if (hours < 15) {
+ return 'tengahari';
+ } else if (hours < 19) {
+ return 'petang';
+ } else {
+ return 'malam';
+ }
+ },
+ calendar: {
+ sameDay: '[Hari ini pukul] LT',
+ nextDay: '[Esok pukul] LT',
+ nextWeek: 'dddd [pukul] LT',
+ lastDay: '[Kelmarin pukul] LT',
+ lastWeek: 'dddd [lepas pukul] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dalam %s',
+ past: '%s yang lepas',
+ s: 'beberapa saat',
+ ss: '%d saat',
+ m: 'seminit',
+ mm: '%d minit',
+ h: 'sejam',
+ hh: '%d jam',
+ d: 'sehari',
+ dd: '%d hari',
+ M: 'sebulan',
+ MM: '%d bulan',
+ y: 'setahun',
+ yy: '%d tahun',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return ms;
+
+ })));
+
+
+ /***/ }),
+ /* 418 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Malay [ms-my]
+ //! note : DEPRECATED, the correct one is [ms]
+ //! author : Weldan Jamili : https://github.com/weldan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var msMy = moment.defineLocale('ms-my', {
+ months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+ weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+ weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+ weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+ longDateFormat: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
+ },
+ meridiemParse: /pagi|tengahari|petang|malam/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'pagi') {
+ return hour;
+ } else if (meridiem === 'tengahari') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === 'petang' || meridiem === 'malam') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'pagi';
+ } else if (hours < 15) {
+ return 'tengahari';
+ } else if (hours < 19) {
+ return 'petang';
+ } else {
+ return 'malam';
+ }
+ },
+ calendar: {
+ sameDay: '[Hari ini pukul] LT',
+ nextDay: '[Esok pukul] LT',
+ nextWeek: 'dddd [pukul] LT',
+ lastDay: '[Kelmarin pukul] LT',
+ lastWeek: 'dddd [lepas pukul] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dalam %s',
+ past: '%s yang lepas',
+ s: 'beberapa saat',
+ ss: '%d saat',
+ m: 'seminit',
+ mm: '%d minit',
+ h: 'sejam',
+ hh: '%d jam',
+ d: 'sehari',
+ dd: '%d hari',
+ M: 'sebulan',
+ MM: '%d bulan',
+ y: 'setahun',
+ yy: '%d tahun',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return msMy;
+
+ })));
+
+
+ /***/ }),
+ /* 419 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Maltese (Malta) [mt]
+ //! author : Alessandro Maruccia : https://github.com/alesma
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var mt = moment.defineLocale('mt', {
+ months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
+ weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(
+ '_'
+ ),
+ weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
+ weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Illum fil-]LT',
+ nextDay: '[Għada fil-]LT',
+ nextWeek: 'dddd [fil-]LT',
+ lastDay: '[Il-bieraħ fil-]LT',
+ lastWeek: 'dddd [li għadda] [fil-]LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'f’ %s',
+ past: '%s ilu',
+ s: 'ftit sekondi',
+ ss: '%d sekondi',
+ m: 'minuta',
+ mm: '%d minuti',
+ h: 'siegħa',
+ hh: '%d siegħat',
+ d: 'ġurnata',
+ dd: '%d ġranet',
+ M: 'xahar',
+ MM: '%d xhur',
+ y: 'sena',
+ yy: '%d sni',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return mt;
+
+ })));
+
+
+ /***/ }),
+ /* 420 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Burmese [my]
+ //! author : Squar team, mysquar.com
+ //! author : David Rossellat : https://github.com/gholadr
+ //! author : Tin Aung Lin : https://github.com/thanyawzinmin
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '၁',
+ '2': '၂',
+ '3': '၃',
+ '4': '၄',
+ '5': '၅',
+ '6': '၆',
+ '7': '၇',
+ '8': '၈',
+ '9': '၉',
+ '0': '၀',
+ },
+ numberMap = {
+ '၁': '1',
+ '၂': '2',
+ '၃': '3',
+ '၄': '4',
+ '၅': '5',
+ '၆': '6',
+ '၇': '7',
+ '၈': '8',
+ '၉': '9',
+ '၀': '0',
+ };
+
+ var my = moment.defineLocale('my', {
+ months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(
+ '_'
+ ),
+ monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
+ weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(
+ '_'
+ ),
+ weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+ weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[ယနေ.] LT [မှာ]',
+ nextDay: '[မနက်ဖြန်] LT [မှာ]',
+ nextWeek: 'dddd LT [မှာ]',
+ lastDay: '[မနေ.က] LT [မှာ]',
+ lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'လာမည့် %s မှာ',
+ past: 'လွန်ခဲ့သော %s က',
+ s: 'စက္ကန်.အနည်းငယ်',
+ ss: '%d စက္ကန့်',
+ m: 'တစ်မိနစ်',
+ mm: '%d မိနစ်',
+ h: 'တစ်နာရီ',
+ hh: '%d နာရီ',
+ d: 'တစ်ရက်',
+ dd: '%d ရက်',
+ M: 'တစ်လ',
+ MM: '%d လ',
+ y: 'တစ်နှစ်',
+ yy: '%d နှစ်',
+ },
+ preparse: function (string) {
+ return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return my;
+
+ })));
+
+
+ /***/ }),
+ /* 421 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Norwegian Bokmål [nb]
+ //! authors : Espen Hovlandsdal : https://github.com/rexxars
+ //! Sigurd Gartmann : https://github.com/sigurdga
+ //! Stephen Ramthun : https://github.com/stephenramthun
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var nb = moment.defineLocale('nb', {
+ months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
+ '_'
+ ),
+ monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+ weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+ weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY [kl.] HH:mm',
+ LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',
+ },
+ calendar: {
+ sameDay: '[i dag kl.] LT',
+ nextDay: '[i morgen kl.] LT',
+ nextWeek: 'dddd [kl.] LT',
+ lastDay: '[i går kl.] LT',
+ lastWeek: '[forrige] dddd [kl.] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: '%s siden',
+ s: 'noen sekunder',
+ ss: '%d sekunder',
+ m: 'ett minutt',
+ mm: '%d minutter',
+ h: 'en time',
+ hh: '%d timer',
+ d: 'en dag',
+ dd: '%d dager',
+ M: 'en måned',
+ MM: '%d måneder',
+ y: 'ett år',
+ yy: '%d år',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return nb;
+
+ })));
+
+
+ /***/ }),
+ /* 422 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Nepalese [ne]
+ //! author : suvash : https://github.com/suvash
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '१',
+ '2': '२',
+ '3': '३',
+ '4': '४',
+ '5': '५',
+ '6': '६',
+ '7': '७',
+ '8': '८',
+ '9': '९',
+ '0': '०',
+ },
+ numberMap = {
+ '१': '1',
+ '२': '2',
+ '३': '3',
+ '४': '4',
+ '५': '5',
+ '६': '6',
+ '७': '7',
+ '८': '8',
+ '९': '9',
+ '०': '0',
+ };
+
+ var ne = moment.defineLocale('ne', {
+ months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(
+ '_'
+ ),
+ monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(
+ '_'
+ ),
+ weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
+ weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'Aको h:mm बजे',
+ LTS: 'Aको h:mm:ss बजे',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, Aको h:mm बजे',
+ LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',
+ },
+ preparse: function (string) {
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'राति') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'बिहान') {
+ return hour;
+ } else if (meridiem === 'दिउँसो') {
+ return hour >= 10 ? hour : hour + 12;
+ } else if (meridiem === 'साँझ') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 3) {
+ return 'राति';
+ } else if (hour < 12) {
+ return 'बिहान';
+ } else if (hour < 16) {
+ return 'दिउँसो';
+ } else if (hour < 20) {
+ return 'साँझ';
+ } else {
+ return 'राति';
+ }
+ },
+ calendar: {
+ sameDay: '[आज] LT',
+ nextDay: '[भोलि] LT',
+ nextWeek: '[आउँदो] dddd[,] LT',
+ lastDay: '[हिजो] LT',
+ lastWeek: '[गएको] dddd[,] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%sमा',
+ past: '%s अगाडि',
+ s: 'केही क्षण',
+ ss: '%d सेकेण्ड',
+ m: 'एक मिनेट',
+ mm: '%d मिनेट',
+ h: 'एक घण्टा',
+ hh: '%d घण्टा',
+ d: 'एक दिन',
+ dd: '%d दिन',
+ M: 'एक महिना',
+ MM: '%d महिना',
+ y: 'एक बर्ष',
+ yy: '%d बर्ष',
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return ne;
+
+ })));
+
+
+ /***/ }),
+ /* 423 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Dutch [nl]
+ //! author : Joris Röling : https://github.com/jorisroling
+ //! author : Jacob Middag : https://github.com/middagj
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(
+ '_'
+ ),
+ monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(
+ '_'
+ ),
+ monthsParse = [
+ /^jan/i,
+ /^feb/i,
+ /^maart|mrt.?$/i,
+ /^apr/i,
+ /^mei$/i,
+ /^jun[i.]?$/i,
+ /^jul[i.]?$/i,
+ /^aug/i,
+ /^sep/i,
+ /^okt/i,
+ /^nov/i,
+ /^dec/i,
+ ],
+ monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
+
+ var nl = moment.defineLocale('nl', {
+ months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
+ '_'
+ ),
+ monthsShort: function (m, format) {
+ if (!m) {
+ return monthsShortWithDots;
+ } else if (/-MMM-/.test(format)) {
+ return monthsShortWithoutDots[m.month()];
+ } else {
+ return monthsShortWithDots[m.month()];
+ }
+ },
+
+ monthsRegex: monthsRegex,
+ monthsShortRegex: monthsRegex,
+ monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+ monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+
+ weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(
+ '_'
+ ),
+ weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
+ weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[vandaag om] LT',
+ nextDay: '[morgen om] LT',
+ nextWeek: 'dddd [om] LT',
+ lastDay: '[gisteren om] LT',
+ lastWeek: '[afgelopen] dddd [om] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'over %s',
+ past: '%s geleden',
+ s: 'een paar seconden',
+ ss: '%d seconden',
+ m: 'één minuut',
+ mm: '%d minuten',
+ h: 'één uur',
+ hh: '%d uur',
+ d: 'één dag',
+ dd: '%d dagen',
+ M: 'één maand',
+ MM: '%d maanden',
+ y: 'één jaar',
+ yy: '%d jaar',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+ ordinal: function (number) {
+ return (
+ number +
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
+ );
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return nl;
+
+ })));
+
+
+ /***/ }),
+ /* 424 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Dutch (Belgium) [nl-be]
+ //! author : Joris Röling : https://github.com/jorisroling
+ //! author : Jacob Middag : https://github.com/middagj
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(
+ '_'
+ ),
+ monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(
+ '_'
+ ),
+ monthsParse = [
+ /^jan/i,
+ /^feb/i,
+ /^maart|mrt.?$/i,
+ /^apr/i,
+ /^mei$/i,
+ /^jun[i.]?$/i,
+ /^jul[i.]?$/i,
+ /^aug/i,
+ /^sep/i,
+ /^okt/i,
+ /^nov/i,
+ /^dec/i,
+ ],
+ monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
+
+ var nlBe = moment.defineLocale('nl-be', {
+ months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
+ '_'
+ ),
+ monthsShort: function (m, format) {
+ if (!m) {
+ return monthsShortWithDots;
+ } else if (/-MMM-/.test(format)) {
+ return monthsShortWithoutDots[m.month()];
+ } else {
+ return monthsShortWithDots[m.month()];
+ }
+ },
+
+ monthsRegex: monthsRegex,
+ monthsShortRegex: monthsRegex,
+ monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+ monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+
+ weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(
+ '_'
+ ),
+ weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
+ weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[vandaag om] LT',
+ nextDay: '[morgen om] LT',
+ nextWeek: 'dddd [om] LT',
+ lastDay: '[gisteren om] LT',
+ lastWeek: '[afgelopen] dddd [om] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'over %s',
+ past: '%s geleden',
+ s: 'een paar seconden',
+ ss: '%d seconden',
+ m: 'één minuut',
+ mm: '%d minuten',
+ h: 'één uur',
+ hh: '%d uur',
+ d: 'één dag',
+ dd: '%d dagen',
+ M: 'één maand',
+ MM: '%d maanden',
+ y: 'één jaar',
+ yy: '%d jaar',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+ ordinal: function (number) {
+ return (
+ number +
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
+ );
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return nlBe;
+
+ })));
+
+
+ /***/ }),
+ /* 425 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Nynorsk [nn]
+ //! authors : https://github.com/mechuwind
+ //! Stephen Ramthun : https://github.com/stephenramthun
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var nn = moment.defineLocale('nn', {
+ months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
+ '_'
+ ),
+ monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
+ weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),
+ weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY [kl.] H:mm',
+ LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',
+ },
+ calendar: {
+ sameDay: '[I dag klokka] LT',
+ nextDay: '[I morgon klokka] LT',
+ nextWeek: 'dddd [klokka] LT',
+ lastDay: '[I går klokka] LT',
+ lastWeek: '[Føregåande] dddd [klokka] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: '%s sidan',
+ s: 'nokre sekund',
+ ss: '%d sekund',
+ m: 'eit minutt',
+ mm: '%d minutt',
+ h: 'ein time',
+ hh: '%d timar',
+ d: 'ein dag',
+ dd: '%d dagar',
+ M: 'ein månad',
+ MM: '%d månader',
+ y: 'eit år',
+ yy: '%d år',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return nn;
+
+ })));
+
+
+ /***/ }),
+ /* 426 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Occitan, lengadocian dialecte [oc-lnc]
+ //! author : Quentin PAGÈS : https://github.com/Quenty31
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ocLnc = moment.defineLocale('oc-lnc', {
+ months: {
+ standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(
+ '_'
+ ),
+ format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split(
+ '_'
+ ),
+ isFormat: /D[oD]?(\s)+MMMM/,
+ },
+ monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(
+ '_'
+ ),
+ weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),
+ weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM [de] YYYY',
+ ll: 'D MMM YYYY',
+ LLL: 'D MMMM [de] YYYY [a] H:mm',
+ lll: 'D MMM YYYY, H:mm',
+ LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',
+ llll: 'ddd D MMM YYYY, H:mm',
+ },
+ calendar: {
+ sameDay: '[uèi a] LT',
+ nextDay: '[deman a] LT',
+ nextWeek: 'dddd [a] LT',
+ lastDay: '[ièr a] LT',
+ lastWeek: 'dddd [passat a] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: "d'aquí %s",
+ past: 'fa %s',
+ s: 'unas segondas',
+ ss: '%d segondas',
+ m: 'una minuta',
+ mm: '%d minutas',
+ h: 'una ora',
+ hh: '%d oras',
+ d: 'un jorn',
+ dd: '%d jorns',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un an',
+ yy: '%d ans',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
+ ordinal: function (number, period) {
+ var output =
+ number === 1
+ ? 'r'
+ : number === 2
+ ? 'n'
+ : number === 3
+ ? 'r'
+ : number === 4
+ ? 't'
+ : 'è';
+ if (period === 'w' || period === 'W') {
+ output = 'a';
+ }
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4,
+ },
+ });
+
+ return ocLnc;
+
+ })));
+
+
+ /***/ }),
+ /* 427 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Punjabi (India) [pa-in]
+ //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '੧',
+ '2': '੨',
+ '3': '੩',
+ '4': '੪',
+ '5': '੫',
+ '6': '੬',
+ '7': '੭',
+ '8': '੮',
+ '9': '੯',
+ '0': '੦',
+ },
+ numberMap = {
+ '੧': '1',
+ '੨': '2',
+ '੩': '3',
+ '੪': '4',
+ '੫': '5',
+ '੬': '6',
+ '੭': '7',
+ '੮': '8',
+ '੯': '9',
+ '੦': '0',
+ };
+
+ var paIn = moment.defineLocale('pa-in', {
+ // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
+ months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
+ '_'
+ ),
+ monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
+ '_'
+ ),
+ weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(
+ '_'
+ ),
+ weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+ weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm ਵਜੇ',
+ LTS: 'A h:mm:ss ਵਜੇ',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',
+ },
+ calendar: {
+ sameDay: '[ਅਜ] LT',
+ nextDay: '[ਕਲ] LT',
+ nextWeek: '[ਅਗਲਾ] dddd, LT',
+ lastDay: '[ਕਲ] LT',
+ lastWeek: '[ਪਿਛਲੇ] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s ਵਿੱਚ',
+ past: '%s ਪਿਛਲੇ',
+ s: 'ਕੁਝ ਸਕਿੰਟ',
+ ss: '%d ਸਕਿੰਟ',
+ m: 'ਇਕ ਮਿੰਟ',
+ mm: '%d ਮਿੰਟ',
+ h: 'ਇੱਕ ਘੰਟਾ',
+ hh: '%d ਘੰਟੇ',
+ d: 'ਇੱਕ ਦਿਨ',
+ dd: '%d ਦਿਨ',
+ M: 'ਇੱਕ ਮਹੀਨਾ',
+ MM: '%d ਮਹੀਨੇ',
+ y: 'ਇੱਕ ਸਾਲ',
+ yy: '%d ਸਾਲ',
+ },
+ preparse: function (string) {
+ return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
+ meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'ਰਾਤ') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'ਸਵੇਰ') {
+ return hour;
+ } else if (meridiem === 'ਦੁਪਹਿਰ') {
+ return hour >= 10 ? hour : hour + 12;
+ } else if (meridiem === 'ਸ਼ਾਮ') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'ਰਾਤ';
+ } else if (hour < 10) {
+ return 'ਸਵੇਰ';
+ } else if (hour < 17) {
+ return 'ਦੁਪਹਿਰ';
+ } else if (hour < 20) {
+ return 'ਸ਼ਾਮ';
+ } else {
+ return 'ਰਾਤ';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return paIn;
+
+ })));
+
+
+ /***/ }),
+ /* 428 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Polish [pl]
+ //! author : Rafal Hirsz : https://github.com/evoL
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(
+ '_'
+ ),
+ monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(
+ '_'
+ );
+ function plural(n) {
+ return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
+ }
+ function translate(number, withoutSuffix, key) {
+ var result = number + ' ';
+ switch (key) {
+ case 'ss':
+ return result + (plural(number) ? 'sekundy' : 'sekund');
+ case 'm':
+ return withoutSuffix ? 'minuta' : 'minutę';
+ case 'mm':
+ return result + (plural(number) ? 'minuty' : 'minut');
+ case 'h':
+ return withoutSuffix ? 'godzina' : 'godzinę';
+ case 'hh':
+ return result + (plural(number) ? 'godziny' : 'godzin');
+ case 'MM':
+ return result + (plural(number) ? 'miesiące' : 'miesięcy');
+ case 'yy':
+ return result + (plural(number) ? 'lata' : 'lat');
+ }
+ }
+
+ var pl = moment.defineLocale('pl', {
+ months: function (momentToFormat, format) {
+ if (!momentToFormat) {
+ return monthsNominative;
+ } else if (format === '') {
+ // Hack: if format empty we know this is used to generate
+ // RegExp by moment. Give then back both valid forms of months
+ // in RegExp ready format.
+ return (
+ '(' +
+ monthsSubjective[momentToFormat.month()] +
+ '|' +
+ monthsNominative[momentToFormat.month()] +
+ ')'
+ );
+ } else if (/D MMMM/.test(format)) {
+ return monthsSubjective[momentToFormat.month()];
+ } else {
+ return monthsNominative[momentToFormat.month()];
+ }
+ },
+ monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
+ weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(
+ '_'
+ ),
+ weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
+ weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Dziś o] LT',
+ nextDay: '[Jutro o] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[W niedzielę o] LT';
+
+ case 2:
+ return '[We wtorek o] LT';
+
+ case 3:
+ return '[W środę o] LT';
+
+ case 6:
+ return '[W sobotę o] LT';
+
+ default:
+ return '[W] dddd [o] LT';
+ }
+ },
+ lastDay: '[Wczoraj o] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[W zeszłą niedzielę o] LT';
+ case 3:
+ return '[W zeszłą środę o] LT';
+ case 6:
+ return '[W zeszłą sobotę o] LT';
+ default:
+ return '[W zeszły] dddd [o] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: '%s temu',
+ s: 'kilka sekund',
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: '1 dzień',
+ dd: '%d dni',
+ M: 'miesiąc',
+ MM: translate,
+ y: 'rok',
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return pl;
+
+ })));
+
+
+ /***/ }),
+ /* 429 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Portuguese [pt]
+ //! author : Jefferson : https://github.com/jalex79
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var pt = moment.defineLocale('pt', {
+ months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
+ '_'
+ ),
+ monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
+ weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(
+ '_'
+ ),
+ weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+ weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY HH:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Hoje às] LT',
+ nextDay: '[Amanhã às] LT',
+ nextWeek: 'dddd [às] LT',
+ lastDay: '[Ontem às] LT',
+ lastWeek: function () {
+ return this.day() === 0 || this.day() === 6
+ ? '[Último] dddd [às] LT' // Saturday + Sunday
+ : '[Última] dddd [às] LT'; // Monday - Friday
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'em %s',
+ past: 'há %s',
+ s: 'segundos',
+ ss: '%d segundos',
+ m: 'um minuto',
+ mm: '%d minutos',
+ h: 'uma hora',
+ hh: '%d horas',
+ d: 'um dia',
+ dd: '%d dias',
+ M: 'um mês',
+ MM: '%d meses',
+ y: 'um ano',
+ yy: '%d anos',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return pt;
+
+ })));
+
+
+ /***/ }),
+ /* 430 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Portuguese (Brazil) [pt-br]
+ //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ptBr = moment.defineLocale('pt-br', {
+ months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
+ '_'
+ ),
+ monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
+ weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(
+ '_'
+ ),
+ weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),
+ weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',
+ },
+ calendar: {
+ sameDay: '[Hoje às] LT',
+ nextDay: '[Amanhã às] LT',
+ nextWeek: 'dddd [às] LT',
+ lastDay: '[Ontem às] LT',
+ lastWeek: function () {
+ return this.day() === 0 || this.day() === 6
+ ? '[Último] dddd [às] LT' // Saturday + Sunday
+ : '[Última] dddd [às] LT'; // Monday - Friday
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'em %s',
+ past: 'há %s',
+ s: 'poucos segundos',
+ ss: '%d segundos',
+ m: 'um minuto',
+ mm: '%d minutos',
+ h: 'uma hora',
+ hh: '%d horas',
+ d: 'um dia',
+ dd: '%d dias',
+ M: 'um mês',
+ MM: '%d meses',
+ y: 'um ano',
+ yy: '%d anos',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
+ ordinal: '%dº',
+ });
+
+ return ptBr;
+
+ })));
+
+
+ /***/ }),
+ /* 431 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Romanian [ro]
+ //! author : Vlad Gurdiga : https://github.com/gurdiga
+ //! author : Valentin Agachi : https://github.com/avaly
+ //! author : Emanuel Cepoi : https://github.com/cepem
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ ss: 'secunde',
+ mm: 'minute',
+ hh: 'ore',
+ dd: 'zile',
+ MM: 'luni',
+ yy: 'ani',
+ },
+ separator = ' ';
+ if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
+ separator = ' de ';
+ }
+ return number + separator + format[key];
+ }
+
+ var ro = moment.defineLocale('ro', {
+ months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(
+ '_'
+ ),
+ monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
+ weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
+ weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY H:mm',
+ LLLL: 'dddd, D MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[azi la] LT',
+ nextDay: '[mâine la] LT',
+ nextWeek: 'dddd [la] LT',
+ lastDay: '[ieri la] LT',
+ lastWeek: '[fosta] dddd [la] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'peste %s',
+ past: '%s în urmă',
+ s: 'câteva secunde',
+ ss: relativeTimeWithPlural,
+ m: 'un minut',
+ mm: relativeTimeWithPlural,
+ h: 'o oră',
+ hh: relativeTimeWithPlural,
+ d: 'o zi',
+ dd: relativeTimeWithPlural,
+ M: 'o lună',
+ MM: relativeTimeWithPlural,
+ y: 'un an',
+ yy: relativeTimeWithPlural,
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return ro;
+
+ })));
+
+
+ /***/ }),
+ /* 432 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Russian [ru]
+ //! author : Viktorminator : https://github.com/Viktorminator
+ //! Author : Menelion Elensúle : https://github.com/Oire
+ //! author : Коренберг Марк : https://github.com/socketpair
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11
+ ? forms[0]
+ : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
+ ? forms[1]
+ : forms[2];
+ }
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+ mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
+ hh: 'час_часа_часов',
+ dd: 'день_дня_дней',
+ MM: 'месяц_месяца_месяцев',
+ yy: 'год_года_лет',
+ };
+ if (key === 'm') {
+ return withoutSuffix ? 'минута' : 'минуту';
+ } else {
+ return number + ' ' + plural(format[key], +number);
+ }
+ }
+ var monthsParse = [
+ /^янв/i,
+ /^фев/i,
+ /^мар/i,
+ /^апр/i,
+ /^ма[йя]/i,
+ /^июн/i,
+ /^июл/i,
+ /^авг/i,
+ /^сен/i,
+ /^окт/i,
+ /^ноя/i,
+ /^дек/i,
+ ];
+
+ // http://new.gramota.ru/spravka/rules/139-prop : § 103
+ // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
+ // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
+ var ru = moment.defineLocale('ru', {
+ months: {
+ format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(
+ '_'
+ ),
+ standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
+ '_'
+ ),
+ },
+ monthsShort: {
+ // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
+ format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(
+ '_'
+ ),
+ standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(
+ '_'
+ ),
+ },
+ weekdays: {
+ standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(
+ '_'
+ ),
+ format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(
+ '_'
+ ),
+ isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/,
+ },
+ weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+ weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+ monthsParse: monthsParse,
+ longMonthsParse: monthsParse,
+ shortMonthsParse: monthsParse,
+
+ // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
+ monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+ // копия предыдущего
+ monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+ // полные названия с падежами
+ monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
+
+ // Выражение, которое соотвествует только сокращённым формам
+ monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY г.',
+ LLL: 'D MMMM YYYY г., H:mm',
+ LLLL: 'dddd, D MMMM YYYY г., H:mm',
+ },
+ calendar: {
+ sameDay: '[Сегодня, в] LT',
+ nextDay: '[Завтра, в] LT',
+ lastDay: '[Вчера, в] LT',
+ nextWeek: function (now) {
+ if (now.week() !== this.week()) {
+ switch (this.day()) {
+ case 0:
+ return '[В следующее] dddd, [в] LT';
+ case 1:
+ case 2:
+ case 4:
+ return '[В следующий] dddd, [в] LT';
+ case 3:
+ case 5:
+ case 6:
+ return '[В следующую] dddd, [в] LT';
+ }
+ } else {
+ if (this.day() === 2) {
+ return '[Во] dddd, [в] LT';
+ } else {
+ return '[В] dddd, [в] LT';
+ }
+ }
+ },
+ lastWeek: function (now) {
+ if (now.week() !== this.week()) {
+ switch (this.day()) {
+ case 0:
+ return '[В прошлое] dddd, [в] LT';
+ case 1:
+ case 2:
+ case 4:
+ return '[В прошлый] dddd, [в] LT';
+ case 3:
+ case 5:
+ case 6:
+ return '[В прошлую] dddd, [в] LT';
+ }
+ } else {
+ if (this.day() === 2) {
+ return '[Во] dddd, [в] LT';
+ } else {
+ return '[В] dddd, [в] LT';
+ }
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'через %s',
+ past: '%s назад',
+ s: 'несколько секунд',
+ ss: relativeTimeWithPlural,
+ m: relativeTimeWithPlural,
+ mm: relativeTimeWithPlural,
+ h: 'час',
+ hh: relativeTimeWithPlural,
+ d: 'день',
+ dd: relativeTimeWithPlural,
+ M: 'месяц',
+ MM: relativeTimeWithPlural,
+ y: 'год',
+ yy: relativeTimeWithPlural,
+ },
+ meridiemParse: /ночи|утра|дня|вечера/i,
+ isPM: function (input) {
+ return /^(дня|вечера)$/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'ночи';
+ } else if (hour < 12) {
+ return 'утра';
+ } else if (hour < 17) {
+ return 'дня';
+ } else {
+ return 'вечера';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'M':
+ case 'd':
+ case 'DDD':
+ return number + '-й';
+ case 'D':
+ return number + '-го';
+ case 'w':
+ case 'W':
+ return number + '-я';
+ default:
+ return number;
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return ru;
+
+ })));
+
+
+ /***/ }),
+ /* 433 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Sindhi [sd]
+ //! author : Narain Sagar : https://github.com/narainsagar
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = [
+ 'جنوري',
+ 'فيبروري',
+ 'مارچ',
+ 'اپريل',
+ 'مئي',
+ 'جون',
+ 'جولاءِ',
+ 'آگسٽ',
+ 'سيپٽمبر',
+ 'آڪٽوبر',
+ 'نومبر',
+ 'ڊسمبر',
+ ],
+ days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];
+
+ var sd = moment.defineLocale('sd', {
+ months: months,
+ monthsShort: months,
+ weekdays: days,
+ weekdaysShort: days,
+ weekdaysMin: days,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd، D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /صبح|شام/,
+ isPM: function (input) {
+ return 'شام' === input;
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'صبح';
+ }
+ return 'شام';
+ },
+ calendar: {
+ sameDay: '[اڄ] LT',
+ nextDay: '[سڀاڻي] LT',
+ nextWeek: 'dddd [اڳين هفتي تي] LT',
+ lastDay: '[ڪالهه] LT',
+ lastWeek: '[گزريل هفتي] dddd [تي] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s پوء',
+ past: '%s اڳ',
+ s: 'چند سيڪنڊ',
+ ss: '%d سيڪنڊ',
+ m: 'هڪ منٽ',
+ mm: '%d منٽ',
+ h: 'هڪ ڪلاڪ',
+ hh: '%d ڪلاڪ',
+ d: 'هڪ ڏينهن',
+ dd: '%d ڏينهن',
+ M: 'هڪ مهينو',
+ MM: '%d مهينا',
+ y: 'هڪ سال',
+ yy: '%d سال',
+ },
+ preparse: function (string) {
+ return string.replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string.replace(/,/g, '،');
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return sd;
+
+ })));
+
+
+ /***/ }),
+ /* 434 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Northern Sami [se]
+ //! authors : Bård Rolstad Henriksen : https://github.com/karamell
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var se = moment.defineLocale('se', {
+ months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(
+ '_'
+ ),
+ monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(
+ '_'
+ ),
+ weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(
+ '_'
+ ),
+ weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
+ weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'MMMM D. [b.] YYYY',
+ LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
+ LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',
+ },
+ calendar: {
+ sameDay: '[otne ti] LT',
+ nextDay: '[ihttin ti] LT',
+ nextWeek: 'dddd [ti] LT',
+ lastDay: '[ikte ti] LT',
+ lastWeek: '[ovddit] dddd [ti] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s geažes',
+ past: 'maŋit %s',
+ s: 'moadde sekunddat',
+ ss: '%d sekunddat',
+ m: 'okta minuhta',
+ mm: '%d minuhtat',
+ h: 'okta diimmu',
+ hh: '%d diimmut',
+ d: 'okta beaivi',
+ dd: '%d beaivvit',
+ M: 'okta mánnu',
+ MM: '%d mánut',
+ y: 'okta jahki',
+ yy: '%d jagit',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return se;
+
+ })));
+
+
+ /***/ }),
+ /* 435 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Sinhalese [si]
+ //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ /*jshint -W100*/
+ var si = moment.defineLocale('si', {
+ months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(
+ '_'
+ ),
+ monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(
+ '_'
+ ),
+ weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(
+ '_'
+ ),
+ weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),
+ weekdaysMin: 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'a h:mm',
+ LTS: 'a h:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY MMMM D',
+ LLL: 'YYYY MMMM D, a h:mm',
+ LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',
+ },
+ calendar: {
+ sameDay: '[අද] LT[ට]',
+ nextDay: '[හෙට] LT[ට]',
+ nextWeek: 'dddd LT[ට]',
+ lastDay: '[ඊයේ] LT[ට]',
+ lastWeek: '[පසුගිය] dddd LT[ට]',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%sකින්',
+ past: '%sකට පෙර',
+ s: 'තත්පර කිහිපය',
+ ss: 'තත්පර %d',
+ m: 'මිනිත්තුව',
+ mm: 'මිනිත්තු %d',
+ h: 'පැය',
+ hh: 'පැය %d',
+ d: 'දිනය',
+ dd: 'දින %d',
+ M: 'මාසය',
+ MM: 'මාස %d',
+ y: 'වසර',
+ yy: 'වසර %d',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
+ ordinal: function (number) {
+ return number + ' වැනි';
+ },
+ meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
+ isPM: function (input) {
+ return input === 'ප.ව.' || input === 'පස් වරු';
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'ප.ව.' : 'පස් වරු';
+ } else {
+ return isLower ? 'පෙ.ව.' : 'පෙර වරු';
+ }
+ },
+ });
+
+ return si;
+
+ })));
+
+
+ /***/ }),
+ /* 436 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Slovak [sk]
+ //! author : Martin Minka : https://github.com/k2s
+ //! based on work of petrbela : https://github.com/petrbela
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(
+ '_'
+ ),
+ monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
+ function plural(n) {
+ return n > 1 && n < 5;
+ }
+ function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + ' ';
+ switch (key) {
+ case 's': // a few seconds / in a few seconds / a few seconds ago
+ return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';
+ case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'sekundy' : 'sekúnd');
+ } else {
+ return result + 'sekundami';
+ }
+ case 'm': // a minute / in a minute / a minute ago
+ return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';
+ case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'minúty' : 'minút');
+ } else {
+ return result + 'minútami';
+ }
+ case 'h': // an hour / in an hour / an hour ago
+ return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
+ case 'hh': // 9 hours / in 9 hours / 9 hours ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'hodiny' : 'hodín');
+ } else {
+ return result + 'hodinami';
+ }
+ case 'd': // a day / in a day / a day ago
+ return withoutSuffix || isFuture ? 'deň' : 'dňom';
+ case 'dd': // 9 days / in 9 days / 9 days ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'dni' : 'dní');
+ } else {
+ return result + 'dňami';
+ }
+ case 'M': // a month / in a month / a month ago
+ return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';
+ case 'MM': // 9 months / in 9 months / 9 months ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'mesiace' : 'mesiacov');
+ } else {
+ return result + 'mesiacmi';
+ }
+ case 'y': // a year / in a year / a year ago
+ return withoutSuffix || isFuture ? 'rok' : 'rokom';
+ case 'yy': // 9 years / in 9 years / 9 years ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'roky' : 'rokov');
+ } else {
+ return result + 'rokmi';
+ }
+ }
+ }
+
+ var sk = moment.defineLocale('sk', {
+ months: months,
+ monthsShort: monthsShort,
+ weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
+ weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
+ weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[dnes o] LT',
+ nextDay: '[zajtra o] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[v nedeľu o] LT';
+ case 1:
+ case 2:
+ return '[v] dddd [o] LT';
+ case 3:
+ return '[v stredu o] LT';
+ case 4:
+ return '[vo štvrtok o] LT';
+ case 5:
+ return '[v piatok o] LT';
+ case 6:
+ return '[v sobotu o] LT';
+ }
+ },
+ lastDay: '[včera o] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[minulú nedeľu o] LT';
+ case 1:
+ case 2:
+ return '[minulý] dddd [o] LT';
+ case 3:
+ return '[minulú stredu o] LT';
+ case 4:
+ case 5:
+ return '[minulý] dddd [o] LT';
+ case 6:
+ return '[minulú sobotu o] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'pred %s',
+ s: translate,
+ ss: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return sk;
+
+ })));
+
+
+ /***/ }),
+ /* 437 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Slovenian [sl]
+ //! author : Robert Sedovšek : https://github.com/sedovsek
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var result = number + ' ';
+ switch (key) {
+ case 's':
+ return withoutSuffix || isFuture
+ ? 'nekaj sekund'
+ : 'nekaj sekundami';
+ case 'ss':
+ if (number === 1) {
+ result += withoutSuffix ? 'sekundo' : 'sekundi';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
+ } else {
+ result += 'sekund';
+ }
+ return result;
+ case 'm':
+ return withoutSuffix ? 'ena minuta' : 'eno minuto';
+ case 'mm':
+ if (number === 1) {
+ result += withoutSuffix ? 'minuta' : 'minuto';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'minute' : 'minutami';
+ } else {
+ result += withoutSuffix || isFuture ? 'minut' : 'minutami';
+ }
+ return result;
+ case 'h':
+ return withoutSuffix ? 'ena ura' : 'eno uro';
+ case 'hh':
+ if (number === 1) {
+ result += withoutSuffix ? 'ura' : 'uro';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'uri' : 'urama';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'ure' : 'urami';
+ } else {
+ result += withoutSuffix || isFuture ? 'ur' : 'urami';
+ }
+ return result;
+ case 'd':
+ return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
+ case 'dd':
+ if (number === 1) {
+ result += withoutSuffix || isFuture ? 'dan' : 'dnem';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
+ } else {
+ result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
+ }
+ return result;
+ case 'M':
+ return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
+ case 'MM':
+ if (number === 1) {
+ result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
+ } else {
+ result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
+ }
+ return result;
+ case 'y':
+ return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
+ case 'yy':
+ if (number === 1) {
+ result += withoutSuffix || isFuture ? 'leto' : 'letom';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'leti' : 'letoma';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'leta' : 'leti';
+ } else {
+ result += withoutSuffix || isFuture ? 'let' : 'leti';
+ }
+ return result;
+ }
+ }
+
+ var sl = moment.defineLocale('sl', {
+ months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(
+ '_'
+ ),
+ monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
+ weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
+ weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD. MM. YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[danes ob] LT',
+ nextDay: '[jutri ob] LT',
+
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[v] [nedeljo] [ob] LT';
+ case 3:
+ return '[v] [sredo] [ob] LT';
+ case 6:
+ return '[v] [soboto] [ob] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[v] dddd [ob] LT';
+ }
+ },
+ lastDay: '[včeraj ob] LT',
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[prejšnjo] [nedeljo] [ob] LT';
+ case 3:
+ return '[prejšnjo] [sredo] [ob] LT';
+ case 6:
+ return '[prejšnjo] [soboto] [ob] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[prejšnji] dddd [ob] LT';
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'čez %s',
+ past: 'pred %s',
+ s: processRelativeTime,
+ ss: processRelativeTime,
+ m: processRelativeTime,
+ mm: processRelativeTime,
+ h: processRelativeTime,
+ hh: processRelativeTime,
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return sl;
+
+ })));
+
+
+ /***/ }),
+ /* 438 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Albanian [sq]
+ //! author : Flakërim Ismani : https://github.com/flakerimi
+ //! author : Menelion Elensúle : https://github.com/Oire
+ //! author : Oerd Cukalla : https://github.com/oerd
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var sq = moment.defineLocale('sq', {
+ months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
+ weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(
+ '_'
+ ),
+ weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
+ weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
+ weekdaysParseExact: true,
+ meridiemParse: /PD|MD/,
+ isPM: function (input) {
+ return input.charAt(0) === 'M';
+ },
+ meridiem: function (hours, minutes, isLower) {
+ return hours < 12 ? 'PD' : 'MD';
+ },
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Sot në] LT',
+ nextDay: '[Nesër në] LT',
+ nextWeek: 'dddd [në] LT',
+ lastDay: '[Dje në] LT',
+ lastWeek: 'dddd [e kaluar në] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'në %s',
+ past: '%s më parë',
+ s: 'disa sekonda',
+ ss: '%d sekonda',
+ m: 'një minutë',
+ mm: '%d minuta',
+ h: 'një orë',
+ hh: '%d orë',
+ d: 'një ditë',
+ dd: '%d ditë',
+ M: 'një muaj',
+ MM: '%d muaj',
+ y: 'një vit',
+ yy: '%d vite',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return sq;
+
+ })));
+
+
+ /***/ }),
+ /* 439 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Serbian [sr]
+ //! author : Milan Janačković : https://github.com/milan-j
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var translator = {
+ words: {
+ //Different grammatical cases
+ ss: ['sekunda', 'sekunde', 'sekundi'],
+ m: ['jedan minut', 'jedne minute'],
+ mm: ['minut', 'minute', 'minuta'],
+ h: ['jedan sat', 'jednog sata'],
+ hh: ['sat', 'sata', 'sati'],
+ dd: ['dan', 'dana', 'dana'],
+ MM: ['mesec', 'meseca', 'meseci'],
+ yy: ['godina', 'godine', 'godina'],
+ },
+ correctGrammaticalCase: function (number, wordKey) {
+ return number === 1
+ ? wordKey[0]
+ : number >= 2 && number <= 4
+ ? wordKey[1]
+ : wordKey[2];
+ },
+ translate: function (number, withoutSuffix, key) {
+ var wordKey = translator.words[key];
+ if (key.length === 1) {
+ return withoutSuffix ? wordKey[0] : wordKey[1];
+ } else {
+ return (
+ number +
+ ' ' +
+ translator.correctGrammaticalCase(number, wordKey)
+ );
+ }
+ },
+ };
+
+ var sr = moment.defineLocale('sr', {
+ months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
+ '_'
+ ),
+ monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(
+ '_'
+ ),
+ weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[danas u] LT',
+ nextDay: '[sutra u] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[u] [nedelju] [u] LT';
+ case 3:
+ return '[u] [sredu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ },
+ lastDay: '[juče u] LT',
+ lastWeek: function () {
+ var lastWeekDays = [
+ '[prošle] [nedelje] [u] LT',
+ '[prošlog] [ponedeljka] [u] LT',
+ '[prošlog] [utorka] [u] LT',
+ '[prošle] [srede] [u] LT',
+ '[prošlog] [četvrtka] [u] LT',
+ '[prošlog] [petka] [u] LT',
+ '[prošle] [subote] [u] LT',
+ ];
+ return lastWeekDays[this.day()];
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'pre %s',
+ s: 'nekoliko sekundi',
+ ss: translator.translate,
+ m: translator.translate,
+ mm: translator.translate,
+ h: translator.translate,
+ hh: translator.translate,
+ d: 'dan',
+ dd: translator.translate,
+ M: 'mesec',
+ MM: translator.translate,
+ y: 'godinu',
+ yy: translator.translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return sr;
+
+ })));
+
+
+ /***/ }),
+ /* 440 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Serbian Cyrillic [sr-cyrl]
+ //! author : Milan Janačković : https://github.com/milan-j
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var translator = {
+ words: {
+ //Different grammatical cases
+ ss: ['секунда', 'секунде', 'секунди'],
+ m: ['један минут', 'једне минуте'],
+ mm: ['минут', 'минуте', 'минута'],
+ h: ['један сат', 'једног сата'],
+ hh: ['сат', 'сата', 'сати'],
+ dd: ['дан', 'дана', 'дана'],
+ MM: ['месец', 'месеца', 'месеци'],
+ yy: ['година', 'године', 'година'],
+ },
+ correctGrammaticalCase: function (number, wordKey) {
+ return number === 1
+ ? wordKey[0]
+ : number >= 2 && number <= 4
+ ? wordKey[1]
+ : wordKey[2];
+ },
+ translate: function (number, withoutSuffix, key) {
+ var wordKey = translator.words[key];
+ if (key.length === 1) {
+ return withoutSuffix ? wordKey[0] : wordKey[1];
+ } else {
+ return (
+ number +
+ ' ' +
+ translator.correctGrammaticalCase(number, wordKey)
+ );
+ }
+ },
+ };
+
+ var srCyrl = moment.defineLocale('sr-cyrl', {
+ months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(
+ '_'
+ ),
+ monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
+ weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
+ weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
+ },
+ calendar: {
+ sameDay: '[данас у] LT',
+ nextDay: '[сутра у] LT',
+ nextWeek: function () {
+ switch (this.day()) {
+ case 0:
+ return '[у] [недељу] [у] LT';
+ case 3:
+ return '[у] [среду] [у] LT';
+ case 6:
+ return '[у] [суботу] [у] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[у] dddd [у] LT';
+ }
+ },
+ lastDay: '[јуче у] LT',
+ lastWeek: function () {
+ var lastWeekDays = [
+ '[прошле] [недеље] [у] LT',
+ '[прошлог] [понедељка] [у] LT',
+ '[прошлог] [уторка] [у] LT',
+ '[прошле] [среде] [у] LT',
+ '[прошлог] [четвртка] [у] LT',
+ '[прошлог] [петка] [у] LT',
+ '[прошле] [суботе] [у] LT',
+ ];
+ return lastWeekDays[this.day()];
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'за %s',
+ past: 'пре %s',
+ s: 'неколико секунди',
+ ss: translator.translate,
+ m: translator.translate,
+ mm: translator.translate,
+ h: translator.translate,
+ hh: translator.translate,
+ d: 'дан',
+ dd: translator.translate,
+ M: 'месец',
+ MM: translator.translate,
+ y: 'годину',
+ yy: translator.translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return srCyrl;
+
+ })));
+
+
+ /***/ }),
+ /* 441 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : siSwati [ss]
+ //! author : Nicolai Davies : https://github.com/nicolaidavies
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var ss = moment.defineLocale('ss', {
+ months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split(
+ '_'
+ ),
+ monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
+ weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(
+ '_'
+ ),
+ weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
+ weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: '[Namuhla nga] LT',
+ nextDay: '[Kusasa nga] LT',
+ nextWeek: 'dddd [nga] LT',
+ lastDay: '[Itolo nga] LT',
+ lastWeek: 'dddd [leliphelile] [nga] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'nga %s',
+ past: 'wenteka nga %s',
+ s: 'emizuzwana lomcane',
+ ss: '%d mzuzwana',
+ m: 'umzuzu',
+ mm: '%d emizuzu',
+ h: 'lihora',
+ hh: '%d emahora',
+ d: 'lilanga',
+ dd: '%d emalanga',
+ M: 'inyanga',
+ MM: '%d tinyanga',
+ y: 'umnyaka',
+ yy: '%d iminyaka',
+ },
+ meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 11) {
+ return 'ekuseni';
+ } else if (hours < 15) {
+ return 'emini';
+ } else if (hours < 19) {
+ return 'entsambama';
+ } else {
+ return 'ebusuku';
+ }
+ },
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'ekuseni') {
+ return hour;
+ } else if (meridiem === 'emini') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
+ if (hour === 0) {
+ return 0;
+ }
+ return hour + 12;
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}/,
+ ordinal: '%d',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return ss;
+
+ })));
+
+
+ /***/ }),
+ /* 442 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Swedish [sv]
+ //! author : Jens Alm : https://github.com/ulmus
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var sv = moment.defineLocale('sv', {
+ months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(
+ '_'
+ ),
+ monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+ weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
+ weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
+ weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [kl.] HH:mm',
+ LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd D MMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Idag] LT',
+ nextDay: '[Imorgon] LT',
+ lastDay: '[Igår] LT',
+ nextWeek: '[På] dddd LT',
+ lastWeek: '[I] dddd[s] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: 'för %s sedan',
+ s: 'några sekunder',
+ ss: '%d sekunder',
+ m: 'en minut',
+ mm: '%d minuter',
+ h: 'en timme',
+ hh: '%d timmar',
+ d: 'en dag',
+ dd: '%d dagar',
+ M: 'en månad',
+ MM: '%d månader',
+ y: 'ett år',
+ yy: '%d år',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? ':e'
+ : b === 1
+ ? ':a'
+ : b === 2
+ ? ':a'
+ : b === 3
+ ? ':e'
+ : ':e';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return sv;
+
+ })));
+
+
+ /***/ }),
+ /* 443 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Swahili [sw]
+ //! author : Fahad Kassim : https://github.com/fadsel
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var sw = moment.defineLocale('sw', {
+ months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
+ weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(
+ '_'
+ ),
+ weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
+ weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[leo saa] LT',
+ nextDay: '[kesho saa] LT',
+ nextWeek: '[wiki ijayo] dddd [saat] LT',
+ lastDay: '[jana] LT',
+ lastWeek: '[wiki iliyopita] dddd [saat] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s baadaye',
+ past: 'tokea %s',
+ s: 'hivi punde',
+ ss: 'sekunde %d',
+ m: 'dakika moja',
+ mm: 'dakika %d',
+ h: 'saa limoja',
+ hh: 'masaa %d',
+ d: 'siku moja',
+ dd: 'masiku %d',
+ M: 'mwezi mmoja',
+ MM: 'miezi %d',
+ y: 'mwaka mmoja',
+ yy: 'miaka %d',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return sw;
+
+ })));
+
+
+ /***/ }),
+ /* 444 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Tamil [ta]
+ //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var symbolMap = {
+ '1': '௧',
+ '2': '௨',
+ '3': '௩',
+ '4': '௪',
+ '5': '௫',
+ '6': '௬',
+ '7': '௭',
+ '8': '௮',
+ '9': '௯',
+ '0': '௦',
+ },
+ numberMap = {
+ '௧': '1',
+ '௨': '2',
+ '௩': '3',
+ '௪': '4',
+ '௫': '5',
+ '௬': '6',
+ '௭': '7',
+ '௮': '8',
+ '௯': '9',
+ '௦': '0',
+ };
+
+ var ta = moment.defineLocale('ta', {
+ months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
+ '_'
+ ),
+ monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
+ '_'
+ ),
+ weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(
+ '_'
+ ),
+ weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(
+ '_'
+ ),
+ weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, HH:mm',
+ LLLL: 'dddd, D MMMM YYYY, HH:mm',
+ },
+ calendar: {
+ sameDay: '[இன்று] LT',
+ nextDay: '[நாளை] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[நேற்று] LT',
+ lastWeek: '[கடந்த வாரம்] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s இல்',
+ past: '%s முன்',
+ s: 'ஒரு சில விநாடிகள்',
+ ss: '%d விநாடிகள்',
+ m: 'ஒரு நிமிடம்',
+ mm: '%d நிமிடங்கள்',
+ h: 'ஒரு மணி நேரம்',
+ hh: '%d மணி நேரம்',
+ d: 'ஒரு நாள்',
+ dd: '%d நாட்கள்',
+ M: 'ஒரு மாதம்',
+ MM: '%d மாதங்கள்',
+ y: 'ஒரு வருடம்',
+ yy: '%d ஆண்டுகள்',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}வது/,
+ ordinal: function (number) {
+ return number + 'வது';
+ },
+ preparse: function (string) {
+ return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
+ return numberMap[match];
+ });
+ },
+ postformat: function (string) {
+ return string.replace(/\d/g, function (match) {
+ return symbolMap[match];
+ });
+ },
+ // refer http://ta.wikipedia.org/s/1er1
+ meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 2) {
+ return ' யாமம்';
+ } else if (hour < 6) {
+ return ' வைகறை'; // வைகறை
+ } else if (hour < 10) {
+ return ' காலை'; // காலை
+ } else if (hour < 14) {
+ return ' நண்பகல்'; // நண்பகல்
+ } else if (hour < 18) {
+ return ' எற்பாடு'; // எற்பாடு
+ } else if (hour < 22) {
+ return ' மாலை'; // மாலை
+ } else {
+ return ' யாமம்';
+ }
+ },
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'யாமம்') {
+ return hour < 2 ? hour : hour + 12;
+ } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
+ return hour;
+ } else if (meridiem === 'நண்பகல்') {
+ return hour >= 10 ? hour : hour + 12;
+ } else {
+ return hour + 12;
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return ta;
+
+ })));
+
+
+ /***/ }),
+ /* 445 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Telugu [te]
+ //! author : Krishna Chaitanya Thota : https://github.com/kcthota
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var te = moment.defineLocale('te', {
+ months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(
+ '_'
+ ),
+ monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(
+ '_'
+ ),
+ weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
+ weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
+ longDateFormat: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm',
+ },
+ calendar: {
+ sameDay: '[నేడు] LT',
+ nextDay: '[రేపు] LT',
+ nextWeek: 'dddd, LT',
+ lastDay: '[నిన్న] LT',
+ lastWeek: '[గత] dddd, LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s లో',
+ past: '%s క్రితం',
+ s: 'కొన్ని క్షణాలు',
+ ss: '%d సెకన్లు',
+ m: 'ఒక నిమిషం',
+ mm: '%d నిమిషాలు',
+ h: 'ఒక గంట',
+ hh: '%d గంటలు',
+ d: 'ఒక రోజు',
+ dd: '%d రోజులు',
+ M: 'ఒక నెల',
+ MM: '%d నెలలు',
+ y: 'ఒక సంవత్సరం',
+ yy: '%d సంవత్సరాలు',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}వ/,
+ ordinal: '%dవ',
+ meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'రాత్రి') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'ఉదయం') {
+ return hour;
+ } else if (meridiem === 'మధ్యాహ్నం') {
+ return hour >= 10 ? hour : hour + 12;
+ } else if (meridiem === 'సాయంత్రం') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'రాత్రి';
+ } else if (hour < 10) {
+ return 'ఉదయం';
+ } else if (hour < 17) {
+ return 'మధ్యాహ్నం';
+ } else if (hour < 20) {
+ return 'సాయంత్రం';
+ } else {
+ return 'రాత్రి';
+ }
+ },
+ week: {
+ dow: 0, // Sunday is the first day of the week.
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
+ },
+ });
+
+ return te;
+
+ })));
+
+
+ /***/ }),
+ /* 446 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Tetun Dili (East Timor) [tet]
+ //! author : Joshua Brooks : https://github.com/joshbrooks
+ //! author : Onorio De J. Afonso : https://github.com/marobo
+ //! author : Sonia Simoes : https://github.com/soniasimoes
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var tet = moment.defineLocale('tet', {
+ months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+ weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
+ weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
+ weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Ohin iha] LT',
+ nextDay: '[Aban iha] LT',
+ nextWeek: 'dddd [iha] LT',
+ lastDay: '[Horiseik iha] LT',
+ lastWeek: 'dddd [semana kotuk] [iha] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'iha %s',
+ past: '%s liuba',
+ s: 'segundu balun',
+ ss: 'segundu %d',
+ m: 'minutu ida',
+ mm: 'minutu %d',
+ h: 'oras ida',
+ hh: 'oras %d',
+ d: 'loron ida',
+ dd: 'loron %d',
+ M: 'fulan ida',
+ MM: 'fulan %d',
+ y: 'tinan ida',
+ yy: 'tinan %d',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return tet;
+
+ })));
+
+
+ /***/ }),
+ /* 447 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Tajik [tg]
+ //! author : Orif N. Jr. : https://github.com/orif-jr
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var suffixes = {
+ 0: '-ум',
+ 1: '-ум',
+ 2: '-юм',
+ 3: '-юм',
+ 4: '-ум',
+ 5: '-ум',
+ 6: '-ум',
+ 7: '-ум',
+ 8: '-ум',
+ 9: '-ум',
+ 10: '-ум',
+ 12: '-ум',
+ 13: '-ум',
+ 20: '-ум',
+ 30: '-юм',
+ 40: '-ум',
+ 50: '-ум',
+ 60: '-ум',
+ 70: '-ум',
+ 80: '-ум',
+ 90: '-ум',
+ 100: '-ум',
+ };
+
+ var tg = moment.defineLocale('tg', {
+ months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
+ '_'
+ ),
+ monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+ weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(
+ '_'
+ ),
+ weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
+ weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Имрӯз соати] LT',
+ nextDay: '[Пагоҳ соати] LT',
+ lastDay: '[Дирӯз соати] LT',
+ nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
+ lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'баъди %s',
+ past: '%s пеш',
+ s: 'якчанд сония',
+ m: 'як дақиқа',
+ mm: '%d дақиқа',
+ h: 'як соат',
+ hh: '%d соат',
+ d: 'як рӯз',
+ dd: '%d рӯз',
+ M: 'як моҳ',
+ MM: '%d моҳ',
+ y: 'як сол',
+ yy: '%d сол',
+ },
+ meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === 'шаб') {
+ return hour < 4 ? hour : hour + 12;
+ } else if (meridiem === 'субҳ') {
+ return hour;
+ } else if (meridiem === 'рӯз') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === 'бегоҳ') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'шаб';
+ } else if (hour < 11) {
+ return 'субҳ';
+ } else if (hour < 16) {
+ return 'рӯз';
+ } else if (hour < 19) {
+ return 'бегоҳ';
+ } else {
+ return 'шаб';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
+ ordinal: function (number) {
+ var a = number % 10,
+ b = number >= 100 ? 100 : null;
+ return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 1th is the first week of the year.
+ },
+ });
+
+ return tg;
+
+ })));
+
+
+ /***/ }),
+ /* 448 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Thai [th]
+ //! author : Kridsada Thanabulpong : https://github.com/sirn
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var th = moment.defineLocale('th', {
+ months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(
+ '_'
+ ),
+ monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
+ weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
+ weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY เวลา H:mm',
+ LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',
+ },
+ meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
+ isPM: function (input) {
+ return input === 'หลังเที่ยง';
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'ก่อนเที่ยง';
+ } else {
+ return 'หลังเที่ยง';
+ }
+ },
+ calendar: {
+ sameDay: '[วันนี้ เวลา] LT',
+ nextDay: '[พรุ่งนี้ เวลา] LT',
+ nextWeek: 'dddd[หน้า เวลา] LT',
+ lastDay: '[เมื่อวานนี้ เวลา] LT',
+ lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'อีก %s',
+ past: '%sที่แล้ว',
+ s: 'ไม่กี่วินาที',
+ ss: '%d วินาที',
+ m: '1 นาที',
+ mm: '%d นาที',
+ h: '1 ชั่วโมง',
+ hh: '%d ชั่วโมง',
+ d: '1 วัน',
+ dd: '%d วัน',
+ M: '1 เดือน',
+ MM: '%d เดือน',
+ y: '1 ปี',
+ yy: '%d ปี',
+ },
+ });
+
+ return th;
+
+ })));
+
+
+ /***/ }),
+ /* 449 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Tagalog (Philippines) [tl-ph]
+ //! author : Dan Hagman : https://github.com/hagmandan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var tlPh = moment.defineLocale('tl-ph', {
+ months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
+ '_'
+ ),
+ monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+ weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
+ '_'
+ ),
+ weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+ weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'MM/D/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY HH:mm',
+ LLLL: 'dddd, MMMM DD, YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: 'LT [ngayong araw]',
+ nextDay: '[Bukas ng] LT',
+ nextWeek: 'LT [sa susunod na] dddd',
+ lastDay: 'LT [kahapon]',
+ lastWeek: 'LT [noong nakaraang] dddd',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'sa loob ng %s',
+ past: '%s ang nakalipas',
+ s: 'ilang segundo',
+ ss: '%d segundo',
+ m: 'isang minuto',
+ mm: '%d minuto',
+ h: 'isang oras',
+ hh: '%d oras',
+ d: 'isang araw',
+ dd: '%d araw',
+ M: 'isang buwan',
+ MM: '%d buwan',
+ y: 'isang taon',
+ yy: '%d taon',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}/,
+ ordinal: function (number) {
+ return number;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return tlPh;
+
+ })));
+
+
+ /***/ }),
+ /* 450 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Klingon [tlh]
+ //! author : Dominika Kruk : https://github.com/amaranthrose
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
+
+ function translateFuture(output) {
+ var time = output;
+ time =
+ output.indexOf('jaj') !== -1
+ ? time.slice(0, -3) + 'leS'
+ : output.indexOf('jar') !== -1
+ ? time.slice(0, -3) + 'waQ'
+ : output.indexOf('DIS') !== -1
+ ? time.slice(0, -3) + 'nem'
+ : time + ' pIq';
+ return time;
+ }
+
+ function translatePast(output) {
+ var time = output;
+ time =
+ output.indexOf('jaj') !== -1
+ ? time.slice(0, -3) + 'Hu’'
+ : output.indexOf('jar') !== -1
+ ? time.slice(0, -3) + 'wen'
+ : output.indexOf('DIS') !== -1
+ ? time.slice(0, -3) + 'ben'
+ : time + ' ret';
+ return time;
+ }
+
+ function translate(number, withoutSuffix, string, isFuture) {
+ var numberNoun = numberAsNoun(number);
+ switch (string) {
+ case 'ss':
+ return numberNoun + ' lup';
+ case 'mm':
+ return numberNoun + ' tup';
+ case 'hh':
+ return numberNoun + ' rep';
+ case 'dd':
+ return numberNoun + ' jaj';
+ case 'MM':
+ return numberNoun + ' jar';
+ case 'yy':
+ return numberNoun + ' DIS';
+ }
+ }
+
+ function numberAsNoun(number) {
+ var hundred = Math.floor((number % 1000) / 100),
+ ten = Math.floor((number % 100) / 10),
+ one = number % 10,
+ word = '';
+ if (hundred > 0) {
+ word += numbersNouns[hundred] + 'vatlh';
+ }
+ if (ten > 0) {
+ word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
+ }
+ if (one > 0) {
+ word += (word !== '' ? ' ' : '') + numbersNouns[one];
+ }
+ return word === '' ? 'pagh' : word;
+ }
+
+ var tlh = moment.defineLocale('tlh', {
+ months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(
+ '_'
+ ),
+ monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
+ '_'
+ ),
+ weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
+ '_'
+ ),
+ weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
+ '_'
+ ),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[DaHjaj] LT',
+ nextDay: '[wa’leS] LT',
+ nextWeek: 'LLL',
+ lastDay: '[wa’Hu’] LT',
+ lastWeek: 'LLL',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: translateFuture,
+ past: translatePast,
+ s: 'puS lup',
+ ss: translate,
+ m: 'wa’ tup',
+ mm: translate,
+ h: 'wa’ rep',
+ hh: translate,
+ d: 'wa’ jaj',
+ dd: translate,
+ M: 'wa’ jar',
+ MM: translate,
+ y: 'wa’ DIS',
+ yy: translate,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return tlh;
+
+ })));
+
+
+ /***/ }),
+ /* 451 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Turkish [tr]
+ //! authors : Erhan Gundogan : https://github.com/erhangundogan,
+ //! Burak Yiğit Kaya: https://github.com/BYK
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var suffixes = {
+ 1: "'inci",
+ 5: "'inci",
+ 8: "'inci",
+ 70: "'inci",
+ 80: "'inci",
+ 2: "'nci",
+ 7: "'nci",
+ 20: "'nci",
+ 50: "'nci",
+ 3: "'üncü",
+ 4: "'üncü",
+ 100: "'üncü",
+ 6: "'ncı",
+ 9: "'uncu",
+ 10: "'uncu",
+ 30: "'uncu",
+ 60: "'ıncı",
+ 90: "'ıncı",
+ };
+
+ var tr = moment.defineLocale('tr', {
+ months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(
+ '_'
+ ),
+ monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
+ weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(
+ '_'
+ ),
+ weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
+ weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[bugün saat] LT',
+ nextDay: '[yarın saat] LT',
+ nextWeek: '[gelecek] dddd [saat] LT',
+ lastDay: '[dün] LT',
+ lastWeek: '[geçen] dddd [saat] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s sonra',
+ past: '%s önce',
+ s: 'birkaç saniye',
+ ss: '%d saniye',
+ m: 'bir dakika',
+ mm: '%d dakika',
+ h: 'bir saat',
+ hh: '%d saat',
+ d: 'bir gün',
+ dd: '%d gün',
+ M: 'bir ay',
+ MM: '%d ay',
+ y: 'bir yıl',
+ yy: '%d yıl',
+ },
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'Do':
+ case 'DD':
+ return number;
+ default:
+ if (number === 0) {
+ // special case for zero
+ return number + "'ıncı";
+ }
+ var a = number % 10,
+ b = (number % 100) - a,
+ c = number >= 100 ? 100 : null;
+ return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return tr;
+
+ })));
+
+
+ /***/ }),
+ /* 452 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Talossan [tzl]
+ //! author : Robin van der Vliet : https://github.com/robin0van0der0v
+ //! author : Iustì Canun
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
+ // This is currently too difficult (maybe even impossible) to add.
+ var tzl = moment.defineLocale('tzl', {
+ months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(
+ '_'
+ ),
+ monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
+ weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
+ weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
+ weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
+ longDateFormat: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM [dallas] YYYY',
+ LLL: 'D. MMMM [dallas] YYYY HH.mm',
+ LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',
+ },
+ meridiemParse: /d\'o|d\'a/i,
+ isPM: function (input) {
+ return "d'o" === input.toLowerCase();
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? "d'o" : "D'O";
+ } else {
+ return isLower ? "d'a" : "D'A";
+ }
+ },
+ calendar: {
+ sameDay: '[oxhi à] LT',
+ nextDay: '[demà à] LT',
+ nextWeek: 'dddd [à] LT',
+ lastDay: '[ieiri à] LT',
+ lastWeek: '[sür el] dddd [lasteu à] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'osprei %s',
+ past: 'ja%s',
+ s: processRelativeTime,
+ ss: processRelativeTime,
+ m: processRelativeTime,
+ mm: processRelativeTime,
+ h: processRelativeTime,
+ hh: processRelativeTime,
+ d: processRelativeTime,
+ dd: processRelativeTime,
+ M: processRelativeTime,
+ MM: processRelativeTime,
+ y: processRelativeTime,
+ yy: processRelativeTime,
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
+ ordinal: '%d.',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
+ var format = {
+ s: ['viensas secunds', "'iensas secunds"],
+ ss: [number + ' secunds', '' + number + ' secunds'],
+ m: ["'n míut", "'iens míut"],
+ mm: [number + ' míuts', '' + number + ' míuts'],
+ h: ["'n þora", "'iensa þora"],
+ hh: [number + ' þoras', '' + number + ' þoras'],
+ d: ["'n ziua", "'iensa ziua"],
+ dd: [number + ' ziuas', '' + number + ' ziuas'],
+ M: ["'n mes", "'iens mes"],
+ MM: [number + ' mesen', '' + number + ' mesen'],
+ y: ["'n ar", "'iens ar"],
+ yy: [number + ' ars', '' + number + ' ars'],
+ };
+ return isFuture
+ ? format[key][0]
+ : withoutSuffix
+ ? format[key][0]
+ : format[key][1];
+ }
+
+ return tzl;
+
+ })));
+
+
+ /***/ }),
+ /* 453 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Central Atlas Tamazight [tzm]
+ //! author : Abdel Said : https://github.com/abdelsaid
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var tzm = moment.defineLocale('tzm', {
+ months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
+ '_'
+ ),
+ monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
+ '_'
+ ),
+ weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+ weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+ weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
+ nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
+ nextWeek: 'dddd [ⴴ] LT',
+ lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
+ lastWeek: 'dddd [ⴴ] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
+ past: 'ⵢⴰⵏ %s',
+ s: 'ⵉⵎⵉⴽ',
+ ss: '%d ⵉⵎⵉⴽ',
+ m: 'ⵎⵉⵏⵓⴺ',
+ mm: '%d ⵎⵉⵏⵓⴺ',
+ h: 'ⵙⴰⵄⴰ',
+ hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
+ d: 'ⴰⵙⵙ',
+ dd: '%d oⵙⵙⴰⵏ',
+ M: 'ⴰⵢoⵓⵔ',
+ MM: '%d ⵉⵢⵢⵉⵔⵏ',
+ y: 'ⴰⵙⴳⴰⵙ',
+ yy: '%d ⵉⵙⴳⴰⵙⵏ',
+ },
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return tzm;
+
+ })));
+
+
+ /***/ }),
+ /* 454 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Central Atlas Tamazight Latin [tzm-latn]
+ //! author : Abdel Said : https://github.com/abdelsaid
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var tzmLatn = moment.defineLocale('tzm-latn', {
+ months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
+ '_'
+ ),
+ monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
+ '_'
+ ),
+ weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+ weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+ weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[asdkh g] LT',
+ nextDay: '[aska g] LT',
+ nextWeek: 'dddd [g] LT',
+ lastDay: '[assant g] LT',
+ lastWeek: 'dddd [g] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'dadkh s yan %s',
+ past: 'yan %s',
+ s: 'imik',
+ ss: '%d imik',
+ m: 'minuḍ',
+ mm: '%d minuḍ',
+ h: 'saɛa',
+ hh: '%d tassaɛin',
+ d: 'ass',
+ dd: '%d ossan',
+ M: 'ayowr',
+ MM: '%d iyyirn',
+ y: 'asgas',
+ yy: '%d isgasn',
+ },
+ week: {
+ dow: 6, // Saturday is the first day of the week.
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
+ },
+ });
+
+ return tzmLatn;
+
+ })));
+
+
+ /***/ }),
+ /* 455 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js language configuration
+ //! locale : Uyghur (China) [ug-cn]
+ //! author: boyaq : https://github.com/boyaq
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js language configuration
+
+ var ugCn = moment.defineLocale('ug-cn', {
+ months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+ '_'
+ ),
+ monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+ '_'
+ ),
+ weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
+ '_'
+ ),
+ weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+ weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+ LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+ LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+ },
+ meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (
+ meridiem === 'يېرىم كېچە' ||
+ meridiem === 'سەھەر' ||
+ meridiem === 'چۈشتىن بۇرۇن'
+ ) {
+ return hour;
+ } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
+ return hour + 12;
+ } else {
+ return hour >= 11 ? hour : hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 600) {
+ return 'يېرىم كېچە';
+ } else if (hm < 900) {
+ return 'سەھەر';
+ } else if (hm < 1130) {
+ return 'چۈشتىن بۇرۇن';
+ } else if (hm < 1230) {
+ return 'چۈش';
+ } else if (hm < 1800) {
+ return 'چۈشتىن كېيىن';
+ } else {
+ return 'كەچ';
+ }
+ },
+ calendar: {
+ sameDay: '[بۈگۈن سائەت] LT',
+ nextDay: '[ئەتە سائەت] LT',
+ nextWeek: '[كېلەركى] dddd [سائەت] LT',
+ lastDay: '[تۆنۈگۈن] LT',
+ lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s كېيىن',
+ past: '%s بۇرۇن',
+ s: 'نەچچە سېكونت',
+ ss: '%d سېكونت',
+ m: 'بىر مىنۇت',
+ mm: '%d مىنۇت',
+ h: 'بىر سائەت',
+ hh: '%d سائەت',
+ d: 'بىر كۈن',
+ dd: '%d كۈن',
+ M: 'بىر ئاي',
+ MM: '%d ئاي',
+ y: 'بىر يىل',
+ yy: '%d يىل',
+ },
+
+ dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '-كۈنى';
+ case 'w':
+ case 'W':
+ return number + '-ھەپتە';
+ default:
+ return number;
+ }
+ },
+ preparse: function (string) {
+ return string.replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string.replace(/,/g, '،');
+ },
+ week: {
+ // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 1st is the first week of the year.
+ },
+ });
+
+ return ugCn;
+
+ })));
+
+
+ /***/ }),
+ /* 456 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Ukrainian [uk]
+ //! author : zemlanin : https://github.com/zemlanin
+ //! Author : Menelion Elensúle : https://github.com/Oire
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11
+ ? forms[0]
+ : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
+ ? forms[1]
+ : forms[2];
+ }
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
+ mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
+ hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
+ dd: 'день_дні_днів',
+ MM: 'місяць_місяці_місяців',
+ yy: 'рік_роки_років',
+ };
+ if (key === 'm') {
+ return withoutSuffix ? 'хвилина' : 'хвилину';
+ } else if (key === 'h') {
+ return withoutSuffix ? 'година' : 'годину';
+ } else {
+ return number + ' ' + plural(format[key], +number);
+ }
+ }
+ function weekdaysCaseReplace(m, format) {
+ var weekdays = {
+ nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(
+ '_'
+ ),
+ accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(
+ '_'
+ ),
+ genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(
+ '_'
+ ),
+ },
+ nounCase;
+
+ if (m === true) {
+ return weekdays['nominative']
+ .slice(1, 7)
+ .concat(weekdays['nominative'].slice(0, 1));
+ }
+ if (!m) {
+ return weekdays['nominative'];
+ }
+
+ nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
+ ? 'accusative'
+ : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
+ ? 'genitive'
+ : 'nominative';
+ return weekdays[nounCase][m.day()];
+ }
+ function processHoursFunction(str) {
+ return function () {
+ return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
+ };
+ }
+
+ var uk = moment.defineLocale('uk', {
+ months: {
+ format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(
+ '_'
+ ),
+ standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(
+ '_'
+ ),
+ },
+ monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(
+ '_'
+ ),
+ weekdays: weekdaysCaseReplace,
+ weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+ weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY р.',
+ LLL: 'D MMMM YYYY р., HH:mm',
+ LLLL: 'dddd, D MMMM YYYY р., HH:mm',
+ },
+ calendar: {
+ sameDay: processHoursFunction('[Сьогодні '),
+ nextDay: processHoursFunction('[Завтра '),
+ lastDay: processHoursFunction('[Вчора '),
+ nextWeek: processHoursFunction('[У] dddd ['),
+ lastWeek: function () {
+ switch (this.day()) {
+ case 0:
+ case 3:
+ case 5:
+ case 6:
+ return processHoursFunction('[Минулої] dddd [').call(this);
+ case 1:
+ case 2:
+ case 4:
+ return processHoursFunction('[Минулого] dddd [').call(this);
+ }
+ },
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'за %s',
+ past: '%s тому',
+ s: 'декілька секунд',
+ ss: relativeTimeWithPlural,
+ m: relativeTimeWithPlural,
+ mm: relativeTimeWithPlural,
+ h: 'годину',
+ hh: relativeTimeWithPlural,
+ d: 'день',
+ dd: relativeTimeWithPlural,
+ M: 'місяць',
+ MM: relativeTimeWithPlural,
+ y: 'рік',
+ yy: relativeTimeWithPlural,
+ },
+ // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+ meridiemParse: /ночі|ранку|дня|вечора/,
+ isPM: function (input) {
+ return /^(дня|вечора)$/.test(input);
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 4) {
+ return 'ночі';
+ } else if (hour < 12) {
+ return 'ранку';
+ } else if (hour < 17) {
+ return 'дня';
+ } else {
+ return 'вечора';
+ }
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'M':
+ case 'd':
+ case 'DDD':
+ case 'w':
+ case 'W':
+ return number + '-й';
+ case 'D':
+ return number + '-го';
+ default:
+ return number;
+ }
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return uk;
+
+ })));
+
+
+ /***/ }),
+ /* 457 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Urdu [ur]
+ //! author : Sawood Alam : https://github.com/ibnesayeed
+ //! author : Zack : https://github.com/ZackVision
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var months = [
+ 'جنوری',
+ 'فروری',
+ 'مارچ',
+ 'اپریل',
+ 'مئی',
+ 'جون',
+ 'جولائی',
+ 'اگست',
+ 'ستمبر',
+ 'اکتوبر',
+ 'نومبر',
+ 'دسمبر',
+ ],
+ days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];
+
+ var ur = moment.defineLocale('ur', {
+ months: months,
+ monthsShort: months,
+ weekdays: days,
+ weekdaysShort: days,
+ weekdaysMin: days,
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd، D MMMM YYYY HH:mm',
+ },
+ meridiemParse: /صبح|شام/,
+ isPM: function (input) {
+ return 'شام' === input;
+ },
+ meridiem: function (hour, minute, isLower) {
+ if (hour < 12) {
+ return 'صبح';
+ }
+ return 'شام';
+ },
+ calendar: {
+ sameDay: '[آج بوقت] LT',
+ nextDay: '[کل بوقت] LT',
+ nextWeek: 'dddd [بوقت] LT',
+ lastDay: '[گذشتہ روز بوقت] LT',
+ lastWeek: '[گذشتہ] dddd [بوقت] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s بعد',
+ past: '%s قبل',
+ s: 'چند سیکنڈ',
+ ss: '%d سیکنڈ',
+ m: 'ایک منٹ',
+ mm: '%d منٹ',
+ h: 'ایک گھنٹہ',
+ hh: '%d گھنٹے',
+ d: 'ایک دن',
+ dd: '%d دن',
+ M: 'ایک ماہ',
+ MM: '%d ماہ',
+ y: 'ایک سال',
+ yy: '%d سال',
+ },
+ preparse: function (string) {
+ return string.replace(/،/g, ',');
+ },
+ postformat: function (string) {
+ return string.replace(/,/g, '،');
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return ur;
+
+ })));
+
+
+ /***/ }),
+ /* 458 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Uzbek [uz]
+ //! author : Sardor Muminov : https://github.com/muminoff
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var uz = moment.defineLocale('uz', {
+ months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
+ '_'
+ ),
+ monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+ weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
+ weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
+ weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'D MMMM YYYY, dddd HH:mm',
+ },
+ calendar: {
+ sameDay: '[Бугун соат] LT [да]',
+ nextDay: '[Эртага] LT [да]',
+ nextWeek: 'dddd [куни соат] LT [да]',
+ lastDay: '[Кеча соат] LT [да]',
+ lastWeek: '[Утган] dddd [куни соат] LT [да]',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'Якин %s ичида',
+ past: 'Бир неча %s олдин',
+ s: 'фурсат',
+ ss: '%d фурсат',
+ m: 'бир дакика',
+ mm: '%d дакика',
+ h: 'бир соат',
+ hh: '%d соат',
+ d: 'бир кун',
+ dd: '%d кун',
+ M: 'бир ой',
+ MM: '%d ой',
+ y: 'бир йил',
+ yy: '%d йил',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return uz;
+
+ })));
+
+
+ /***/ }),
+ /* 459 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Uzbek Latin [uz-latn]
+ //! author : Rasulbek Mirzayev : github.com/Rasulbeeek
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var uzLatn = moment.defineLocale('uz-latn', {
+ months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(
+ '_'
+ ),
+ monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
+ weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(
+ '_'
+ ),
+ weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
+ weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'D MMMM YYYY, dddd HH:mm',
+ },
+ calendar: {
+ sameDay: '[Bugun soat] LT [da]',
+ nextDay: '[Ertaga] LT [da]',
+ nextWeek: 'dddd [kuni soat] LT [da]',
+ lastDay: '[Kecha soat] LT [da]',
+ lastWeek: "[O'tgan] dddd [kuni soat] LT [da]",
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'Yaqin %s ichida',
+ past: 'Bir necha %s oldin',
+ s: 'soniya',
+ ss: '%d soniya',
+ m: 'bir daqiqa',
+ mm: '%d daqiqa',
+ h: 'bir soat',
+ hh: '%d soat',
+ d: 'bir kun',
+ dd: '%d kun',
+ M: 'bir oy',
+ MM: '%d oy',
+ y: 'bir yil',
+ yy: '%d yil',
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
+ },
+ });
+
+ return uzLatn;
+
+ })));
+
+
+ /***/ }),
+ /* 460 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Vietnamese [vi]
+ //! author : Bang Nguyen : https://github.com/bangnk
+ //! author : Chien Kira : https://github.com/chienkira
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var vi = moment.defineLocale('vi', {
+ months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(
+ '_'
+ ),
+ monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(
+ '_'
+ ),
+ weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+ weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+ weekdaysParseExact: true,
+ meridiemParse: /sa|ch/i,
+ isPM: function (input) {
+ return /^ch$/i.test(input);
+ },
+ meridiem: function (hours, minutes, isLower) {
+ if (hours < 12) {
+ return isLower ? 'sa' : 'SA';
+ } else {
+ return isLower ? 'ch' : 'CH';
+ }
+ },
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM [năm] YYYY',
+ LLL: 'D MMMM [năm] YYYY HH:mm',
+ LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
+ l: 'DD/M/YYYY',
+ ll: 'D MMM YYYY',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd, D MMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[Hôm nay lúc] LT',
+ nextDay: '[Ngày mai lúc] LT',
+ nextWeek: 'dddd [tuần tới lúc] LT',
+ lastDay: '[Hôm qua lúc] LT',
+ lastWeek: 'dddd [tuần trước lúc] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: '%s tới',
+ past: '%s trước',
+ s: 'vài giây',
+ ss: '%d giây',
+ m: 'một phút',
+ mm: '%d phút',
+ h: 'một giờ',
+ hh: '%d giờ',
+ d: 'một ngày',
+ dd: '%d ngày',
+ M: 'một tháng',
+ MM: '%d tháng',
+ y: 'một năm',
+ yy: '%d năm',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}/,
+ ordinal: function (number) {
+ return number;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return vi;
+
+ })));
+
+
+ /***/ }),
+ /* 461 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Pseudo [x-pseudo]
+ //! author : Andrew Hood : https://github.com/andrewhood125
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var xPseudo = moment.defineLocale('x-pseudo', {
+ months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(
+ '_'
+ ),
+ monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(
+ '_'
+ ),
+ monthsParseExact: true,
+ weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(
+ '_'
+ ),
+ weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
+ weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
+ weekdaysParseExact: true,
+ longDateFormat: {
+ LT: 'HH:mm',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
+ },
+ calendar: {
+ sameDay: '[T~ódá~ý át] LT',
+ nextDay: '[T~ómó~rró~w át] LT',
+ nextWeek: 'dddd [át] LT',
+ lastDay: '[Ý~ést~érdá~ý át] LT',
+ lastWeek: '[L~ást] dddd [át] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'í~ñ %s',
+ past: '%s á~gó',
+ s: 'á ~féw ~sécó~ñds',
+ ss: '%d s~écóñ~ds',
+ m: 'á ~míñ~úté',
+ mm: '%d m~íñú~tés',
+ h: 'á~ñ hó~úr',
+ hh: '%d h~óúrs',
+ d: 'á ~dáý',
+ dd: '%d d~áýs',
+ M: 'á ~móñ~th',
+ MM: '%d m~óñt~hs',
+ y: 'á ~ýéár',
+ yy: '%d ý~éárs',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+ ordinal: function (number) {
+ var b = number % 10,
+ output =
+ ~~((number % 100) / 10) === 1
+ ? 'th'
+ : b === 1
+ ? 'st'
+ : b === 2
+ ? 'nd'
+ : b === 3
+ ? 'rd'
+ : 'th';
+ return number + output;
+ },
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return xPseudo;
+
+ })));
+
+
+ /***/ }),
+ /* 462 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Yoruba Nigeria [yo]
+ //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var yo = moment.defineLocale('yo', {
+ months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(
+ '_'
+ ),
+ monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
+ weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
+ weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
+ weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
+ longDateFormat: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
+ },
+ calendar: {
+ sameDay: '[Ònì ni] LT',
+ nextDay: '[Ọ̀la ni] LT',
+ nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT",
+ lastDay: '[Àna ni] LT',
+ lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
+ sameElse: 'L',
+ },
+ relativeTime: {
+ future: 'ní %s',
+ past: '%s kọjá',
+ s: 'ìsẹjú aayá die',
+ ss: 'aayá %d',
+ m: 'ìsẹjú kan',
+ mm: 'ìsẹjú %d',
+ h: 'wákati kan',
+ hh: 'wákati %d',
+ d: 'ọjọ́ kan',
+ dd: 'ọjọ́ %d',
+ M: 'osù kan',
+ MM: 'osù %d',
+ y: 'ọdún kan',
+ yy: 'ọdún %d',
+ },
+ dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
+ ordinal: 'ọjọ́ %d',
+ week: {
+ dow: 1, // Monday is the first day of the week.
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
+ },
+ });
+
+ return yo;
+
+ })));
+
+
+ /***/ }),
+ /* 463 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Chinese (Hong Kong) [zh-hk]
+ //! author : Ben : https://github.com/ben-lin
+ //! author : Chris Lam : https://github.com/hehachris
+ //! author : Konstantin : https://github.com/skfd
+ //! author : Anthony : https://github.com/anthonylau
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var zhHk = moment.defineLocale('zh-hk', {
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
+ '_'
+ ),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
+ '_'
+ ),
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日dddd HH:mm',
+ l: 'YYYY/M/D',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日dddd HH:mm',
+ },
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+ return hour;
+ } else if (meridiem === '中午') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === '下午' || meridiem === '晚上') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 600) {
+ return '凌晨';
+ } else if (hm < 900) {
+ return '早上';
+ } else if (hm < 1200) {
+ return '上午';
+ } else if (hm === 1200) {
+ return '中午';
+ } else if (hm < 1800) {
+ return '下午';
+ } else {
+ return '晚上';
+ }
+ },
+ calendar: {
+ sameDay: '[今天]LT',
+ nextDay: '[明天]LT',
+ nextWeek: '[下]ddddLT',
+ lastDay: '[昨天]LT',
+ lastWeek: '[上]ddddLT',
+ sameElse: 'L',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '日';
+ case 'M':
+ return number + '月';
+ case 'w':
+ case 'W':
+ return number + '週';
+ default:
+ return number;
+ }
+ },
+ relativeTime: {
+ future: '%s後',
+ past: '%s前',
+ s: '幾秒',
+ ss: '%d 秒',
+ m: '1 分鐘',
+ mm: '%d 分鐘',
+ h: '1 小時',
+ hh: '%d 小時',
+ d: '1 天',
+ dd: '%d 天',
+ M: '1 個月',
+ MM: '%d 個月',
+ y: '1 年',
+ yy: '%d 年',
+ },
+ });
+
+ return zhHk;
+
+ })));
+
+
+ /***/ }),
+ /* 464 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Chinese (Macau) [zh-mo]
+ //! author : Ben : https://github.com/ben-lin
+ //! author : Chris Lam : https://github.com/hehachris
+ //! author : Tan Yuanhong : https://github.com/le0tan
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var zhMo = moment.defineLocale('zh-mo', {
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
+ '_'
+ ),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
+ '_'
+ ),
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日dddd HH:mm',
+ l: 'D/M/YYYY',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日dddd HH:mm',
+ },
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+ return hour;
+ } else if (meridiem === '中午') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === '下午' || meridiem === '晚上') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 600) {
+ return '凌晨';
+ } else if (hm < 900) {
+ return '早上';
+ } else if (hm < 1130) {
+ return '上午';
+ } else if (hm < 1230) {
+ return '中午';
+ } else if (hm < 1800) {
+ return '下午';
+ } else {
+ return '晚上';
+ }
+ },
+ calendar: {
+ sameDay: '[今天] LT',
+ nextDay: '[明天] LT',
+ nextWeek: '[下]dddd LT',
+ lastDay: '[昨天] LT',
+ lastWeek: '[上]dddd LT',
+ sameElse: 'L',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '日';
+ case 'M':
+ return number + '月';
+ case 'w':
+ case 'W':
+ return number + '週';
+ default:
+ return number;
+ }
+ },
+ relativeTime: {
+ future: '%s內',
+ past: '%s前',
+ s: '幾秒',
+ ss: '%d 秒',
+ m: '1 分鐘',
+ mm: '%d 分鐘',
+ h: '1 小時',
+ hh: '%d 小時',
+ d: '1 天',
+ dd: '%d 天',
+ M: '1 個月',
+ MM: '%d 個月',
+ y: '1 年',
+ yy: '%d 年',
+ },
+ });
+
+ return zhMo;
+
+ })));
+
+
+ /***/ }),
+ /* 465 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ //! moment.js locale configuration
+ //! locale : Chinese (Taiwan) [zh-tw]
+ //! author : Ben : https://github.com/ben-lin
+ //! author : Chris Lam : https://github.com/hehachris
+
+ ;(function (global, factory) {
+ true ? factory(__webpack_require__(4)) :
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+ factory(global.moment)
+ }(this, (function (moment) { 'use strict';
+
+ //! moment.js locale configuration
+
+ var zhTw = moment.defineLocale('zh-tw', {
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
+ '_'
+ ),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
+ '_'
+ ),
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ longDateFormat: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日dddd HH:mm',
+ l: 'YYYY/M/D',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日dddd HH:mm',
+ },
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+ meridiemHour: function (hour, meridiem) {
+ if (hour === 12) {
+ hour = 0;
+ }
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+ return hour;
+ } else if (meridiem === '中午') {
+ return hour >= 11 ? hour : hour + 12;
+ } else if (meridiem === '下午' || meridiem === '晚上') {
+ return hour + 12;
+ }
+ },
+ meridiem: function (hour, minute, isLower) {
+ var hm = hour * 100 + minute;
+ if (hm < 600) {
+ return '凌晨';
+ } else if (hm < 900) {
+ return '早上';
+ } else if (hm < 1130) {
+ return '上午';
+ } else if (hm < 1230) {
+ return '中午';
+ } else if (hm < 1800) {
+ return '下午';
+ } else {
+ return '晚上';
+ }
+ },
+ calendar: {
+ sameDay: '[今天] LT',
+ nextDay: '[明天] LT',
+ nextWeek: '[下]dddd LT',
+ lastDay: '[昨天] LT',
+ lastWeek: '[上]dddd LT',
+ sameElse: 'L',
+ },
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+ ordinal: function (number, period) {
+ switch (period) {
+ case 'd':
+ case 'D':
+ case 'DDD':
+ return number + '日';
+ case 'M':
+ return number + '月';
+ case 'w':
+ case 'W':
+ return number + '週';
+ default:
+ return number;
+ }
+ },
+ relativeTime: {
+ future: '%s後',
+ past: '%s前',
+ s: '幾秒',
+ ss: '%d 秒',
+ m: '1 分鐘',
+ mm: '%d 分鐘',
+ h: '1 小時',
+ hh: '%d 小時',
+ d: '1 天',
+ dd: '%d 天',
+ M: '1 個月',
+ MM: '%d 個月',
+ y: '1 年',
+ yy: '%d 年',
+ },
+ });
+
+ return zhTw;
+
+ })));
+
+
+ /***/ }),
+ /* 466 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = mapSelf;
+
+ var _react = _interopRequireDefault(__webpack_require__(0));
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function mirror(o) {
+ return o;
+ }
+
+ function mapSelf(children) {
+ // return ReactFragment
+ return _react.default.Children.map(children, mirror);
+ }
+
+ /***/ }),
+ /* 467 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 468 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _DecadePanel = __webpack_require__(469);
+
+ var _DecadePanel2 = _interopRequireDefault(_DecadePanel);
+
+ var _DateInput = __webpack_require__(78);
+
+ var _DateInput2 = _interopRequireDefault(_DateInput);
+
+ var _moment = __webpack_require__(4);
+
+ var _moment2 = _interopRequireDefault(_moment);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var ROW = 4;
+ var COL = 3;
+
+ function goYear(direction) {
+ var value = this.state.value.clone();
+ value.add(direction, 'year');
+ this.setState({
+ value: value
+ });
+ }
+
+ function chooseYear(year) {
+ var value = this.state.value.clone();
+ value.year(year);
+ value.month(this.state.value.month());
+ this.props.onSelect(value);
+ }
+
+ var YearPanel = function (_React$Component) {
+ _inherits(YearPanel, _React$Component);
+
+ function YearPanel(props) {
+ _classCallCheck(this, YearPanel);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _this.yearSelect = function (value) {
+ var _this$props = _this.props,
+ onSelect = _this$props.onSelect,
+ format = _this$props.format;
+
+ onSelect && onSelect(value, value ? value.format(format) : '');
+ };
+
+ _this.onInputChange = function (value) {
+ var _this$props2 = _this.props,
+ onChange = _this$props2.onChange,
+ format = _this$props2.format;
+
+ _this.setState({
+ value: value ? value : (0, _moment2["default"])()
+ });
+ onChange && onChange(value, value ? value.format(format) : '');
+ };
+
+ _this.onClear = function () {
+ var _this$props3 = _this.props,
+ onChange = _this$props3.onChange,
+ format = _this$props3.format,
+ onClear = _this$props3.onClear;
+
+ _this.setState({
+ value: (0, _moment2["default"])()
+ });
+ onChange && onChange('', '');
+ onClear && onClear('', '');
+ };
+
+ _this.prefixCls = props.rootPrefixCls + '-year-panel';
+ _this.state = {
+ value: props.value || props.defaultValue || (0, _moment2["default"])()
+ };
+ _this.nextDecade = goYear.bind(_this, 10);
+ _this.previousDecade = goYear.bind(_this, -10);
+ ['showDecadePanel', 'onDecadePanelSelect'].forEach(function (method) {
+ _this[method] = _this[method].bind(_this);
+ });
+ return _this;
+ }
+
+ YearPanel.prototype.onDecadePanelSelect = function onDecadePanelSelect(current) {
+ this.setState({
+ value: current,
+ showDecadePanel: 0
+ });
+ };
+
+ YearPanel.prototype.years = function years() {
+ var value = this.state.value;
+ var currentYear = value.year();
+ var startYear = parseInt(currentYear / 10, 10) * 10;
+ var previousYear = startYear - 1;
+ var years = [];
+ var index = 0;
+ for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
+ years[rowIndex] = [];
+ for (var colIndex = 0; colIndex < COL; colIndex++) {
+ var year = previousYear + index;
+ var content = String(year);
+ years[rowIndex][colIndex] = {
+ content: content,
+ year: year,
+ title: content
+ };
+ index++;
+ }
+ }
+ return years;
+ };
+
+ YearPanel.prototype.showDecadePanel = function showDecadePanel() {
+ this.setState({
+ showDecadePanel: 1
+ });
+ };
+
+ YearPanel.prototype.render = function render() {
+ var _this2 = this;
+
+ var props = this.props;
+ var value = this.state.value;
+ var locale = props.locale;
+ var years = this.years();
+ var currentYear = value.year();
+ var startYear = parseInt(currentYear / 10, 10) * 10;
+ var endYear = startYear + 9;
+ var prefixCls = this.prefixCls;
+
+ var yeasEls = years.map(function (row, index) {
+ var tds = row.map(function (yearData) {
+ var _classNameMap;
+
+ var classNameMap = (_classNameMap = {}, _defineProperty(_classNameMap, prefixCls + '-cell', 1), _defineProperty(_classNameMap, prefixCls + '-selected-cell', yearData.year === currentYear), _defineProperty(_classNameMap, prefixCls + '-last-decade-cell', yearData.year < startYear), _defineProperty(_classNameMap, prefixCls + '-next-decade-cell', yearData.year > endYear), _classNameMap);
+ var clickHandler = void 0;
+ if (yearData.year < startYear) {
+ clickHandler = _this2.previousDecade;
+ } else if (yearData.year > endYear) {
+ clickHandler = _this2.nextDecade;
+ } else {
+ clickHandler = chooseYear.bind(_this2, yearData.year);
+ }
+ return _react2["default"].createElement(
+ 'td',
+ {
+ role: 'gridcell',
+ title: yearData.title,
+ key: yearData.content,
+ onClick: clickHandler,
+ className: (0, _classnames2["default"])(classNameMap)
+ },
+ _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-year'
+ },
+ yearData.content
+ )
+ );
+ });
+ return _react2["default"].createElement(
+ 'tr',
+ { key: index, role: 'row' },
+ tds
+ );
+ });
+
+ var decadePanel = void 0;
+ if (this.state.showDecadePanel) {
+ decadePanel = _react2["default"].createElement(_DecadePanel2["default"], {
+ locale: locale,
+ value: value,
+ rootPrefixCls: props.rootPrefixCls,
+ onSelect: this.onDecadePanelSelect
+ });
+ }
+ var showDateInput = props.showDateInput,
+ rootPrefixCls = props.rootPrefixCls,
+ format = props.format,
+ validatorFunc = props.validatorFunc;
+
+ return _react2["default"].createElement(
+ 'div',
+ { className: this.prefixCls },
+ _react2["default"].createElement(
+ 'div',
+ null,
+ showDateInput ? _react2["default"].createElement(_DateInput2["default"], {
+ value: value,
+ prefixCls: this.props.rootPrefixCls,
+ showClear: true,
+ locale: locale,
+ format: format,
+ onChange: this.onInputChange,
+ selectedValue: value,
+ onClear: this.onClear,
+ onSelect: this.yearSelect,
+ validatorFunc: validatorFunc
+ }) : '',
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-header' },
+ _react2["default"].createElement('a', {
+ className: prefixCls + '-prev-decade-btn',
+ role: 'button',
+ onClick: this.previousDecade,
+ title: locale.previousDecade
+ }),
+ _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-decade-select',
+ role: 'button',
+ onClick: this.showDecadePanel,
+ title: locale.decadeSelect
+ },
+ _react2["default"].createElement(
+ 'span',
+ { className: prefixCls + '-decade-select-content' },
+ startYear,
+ '-',
+ endYear
+ ),
+ _react2["default"].createElement(
+ 'span',
+ { className: prefixCls + '-decade-select-arrow' },
+ 'x'
+ )
+ ),
+ _react2["default"].createElement('a', {
+ className: prefixCls + '-next-decade-btn',
+ role: 'button',
+ onClick: this.nextDecade,
+ title: locale.nextDecade
+ })
+ ),
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-body' },
+ _react2["default"].createElement(
+ 'table',
+ { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
+ _react2["default"].createElement(
+ 'tbody',
+ { className: prefixCls + '-tbody' },
+ yeasEls
+ )
+ )
+ )
+ ),
+ decadePanel
+ );
+ };
+
+ return YearPanel;
+ }(_react2["default"].Component);
+
+ exports["default"] = YearPanel;
+
+
+ YearPanel.propTypes = {
+ rootPrefixCls: _propTypes2["default"].string,
+ value: _propTypes2["default"].object,
+ defaultValue: _propTypes2["default"].object
+ };
+
+ YearPanel.defaultProps = {
+ onSelect: function onSelect() {},
+
+ format: 'YYYY',
+ showDateInput: false
+ };
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 469 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var ROW = 4;
+ var COL = 3;
+
+
+ function goYear(direction) {
+ var next = this.state.value.clone();
+ next.add(direction, 'years');
+ this.setState({
+ value: next
+ });
+ }
+
+ function chooseDecade(year, event) {
+ var next = this.state.value.clone();
+ next.year(year);
+ next.month(this.state.value.month());
+ this.props.onSelect(next);
+ event.preventDefault();
+ }
+
+ var DecadePanel = function (_React$Component) {
+ _inherits(DecadePanel, _React$Component);
+
+ function DecadePanel(props) {
+ _classCallCheck(this, DecadePanel);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _this.state = {
+ value: props.value || props.defaultValue
+ };
+
+ // bind methods
+ _this.prefixCls = props.rootPrefixCls + '-decade-panel';
+ _this.nextCentury = goYear.bind(_this, 100);
+ _this.previousCentury = goYear.bind(_this, -100);
+ return _this;
+ }
+
+ DecadePanel.prototype.render = function render() {
+ var _this2 = this;
+
+ var value = this.state.value;
+ var _props = this.props,
+ locale = _props.locale,
+ renderFooter = _props.renderFooter;
+
+ var currentYear = value.year();
+ var startYear = parseInt(currentYear / 100, 10) * 100;
+ var preYear = startYear - 10;
+ var endYear = startYear + 99;
+ var decades = [];
+ var index = 0;
+ var prefixCls = this.prefixCls;
+
+ for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
+ decades[rowIndex] = [];
+ for (var colIndex = 0; colIndex < COL; colIndex++) {
+ var startDecade = preYear + index * 10;
+ var endDecade = preYear + index * 10 + 9;
+ decades[rowIndex][colIndex] = {
+ startDecade: startDecade,
+ endDecade: endDecade
+ };
+ index++;
+ }
+ }
+
+ var footer = renderFooter && renderFooter('decade');
+
+ var decadesEls = decades.map(function (row, decadeIndex) {
+ var tds = row.map(function (decadeData) {
+ var _classNameMap;
+
+ var dStartDecade = decadeData.startDecade;
+ var dEndDecade = decadeData.endDecade;
+ var isLast = dStartDecade < startYear;
+ var isNext = dEndDecade > endYear;
+ var classNameMap = (_classNameMap = {}, _defineProperty(_classNameMap, prefixCls + '-cell', 1), _defineProperty(_classNameMap, prefixCls + '-selected-cell', dStartDecade <= currentYear && currentYear <= dEndDecade), _defineProperty(_classNameMap, prefixCls + '-last-century-cell', isLast), _defineProperty(_classNameMap, prefixCls + '-next-century-cell', isNext), _classNameMap);
+ var content = dStartDecade + '-' + dEndDecade;
+ var clickHandler = void 0;
+ if (isLast) {
+ clickHandler = _this2.previousCentury;
+ } else if (isNext) {
+ clickHandler = _this2.nextCentury;
+ } else {
+ clickHandler = chooseDecade.bind(_this2, dStartDecade);
+ }
+ return _react2["default"].createElement(
+ 'td',
+ {
+ key: dStartDecade,
+ onClick: clickHandler,
+ role: 'gridcell',
+ className: (0, _classnames2["default"])(classNameMap)
+ },
+ _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-decade'
+ },
+ content
+ )
+ );
+ });
+ return _react2["default"].createElement(
+ 'tr',
+ { key: decadeIndex, role: 'row' },
+ tds
+ );
+ });
+
+ return _react2["default"].createElement(
+ 'div',
+ { className: this.prefixCls },
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-header' },
+ _react2["default"].createElement('a', {
+ className: prefixCls + '-prev-century-btn',
+ role: 'button',
+ onClick: this.previousCentury,
+ title: locale.previousCentury
+ }),
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-century' },
+ startYear,
+ '-',
+ endYear
+ ),
+ _react2["default"].createElement('a', {
+ className: prefixCls + '-next-century-btn',
+ role: 'button',
+ onClick: this.nextCentury,
+ title: locale.nextCentury
+ })
+ ),
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-body' },
+ _react2["default"].createElement(
+ 'table',
+ { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
+ _react2["default"].createElement(
+ 'tbody',
+ { className: prefixCls + '-tbody' },
+ decadesEls
+ )
+ )
+ ),
+ footer && _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-footer' },
+ footer
+ )
+ );
+ };
+
+ return DecadePanel;
+ }(_react2["default"].Component);
+
+ exports["default"] = DecadePanel;
+
+
+ DecadePanel.propTypes = {
+ locale: _propTypes2["default"].object,
+ value: _propTypes2["default"].object,
+ defaultValue: _propTypes2["default"].object,
+ rootPrefixCls: _propTypes2["default"].string,
+ renderFooter: _propTypes2["default"].func
+ };
+
+ DecadePanel.defaultProps = {
+ onSelect: function onSelect() {}
+ };
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 470 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _mapSelf = __webpack_require__(466);
+
+ var _mapSelf2 = _interopRequireDefault(_mapSelf);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _TodayButton = __webpack_require__(471);
+
+ var _TodayButton2 = _interopRequireDefault(_TodayButton);
+
+ var _OkButton = __webpack_require__(472);
+
+ var _OkButton2 = _interopRequireDefault(_OkButton);
+
+ var _TimePickerButton = __webpack_require__(473);
+
+ var _TimePickerButton2 = _interopRequireDefault(_TimePickerButton);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var CalendarFooter = function (_React$Component) {
+ _inherits(CalendarFooter, _React$Component);
+
+ function CalendarFooter() {
+ _classCallCheck(this, CalendarFooter);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ CalendarFooter.prototype.onSelect = function onSelect(value) {
+ this.props.onSelect(value);
+ };
+
+ CalendarFooter.prototype.getRootDOMNode = function getRootDOMNode() {
+ return _reactDom2["default"].findDOMNode(this);
+ };
+
+ CalendarFooter.prototype.render = function render() {
+ var props = this.props;
+ var value = props.value,
+ prefixCls = props.prefixCls,
+ showOk = props.showOk,
+ timePicker = props.timePicker,
+ renderFooter = props.renderFooter,
+ mode = props.mode;
+
+ var footerEl = null;
+ var extraFooter = renderFooter && renderFooter(mode);
+ if (props.showToday || timePicker || extraFooter) {
+ var nowEl = void 0;
+ if (props.showToday) {
+ nowEl = _react2["default"].createElement(_TodayButton2["default"], _extends({}, props, { value: value }));
+ }
+ var okBtn = void 0;
+ if (showOk === true || showOk !== false && !!props.timePicker) {
+ okBtn = _react2["default"].createElement(_OkButton2["default"], props);
+ }
+ var timePickerBtn = void 0;
+ if (!!props.timePicker) {
+ timePickerBtn = _react2["default"].createElement(_TimePickerButton2["default"], props);
+ }
+
+ var footerBtn = void 0;
+ if (nowEl || timePickerBtn || okBtn || extraFooter) {
+ footerBtn = _react2["default"].createElement(
+ 'span',
+ { className: prefixCls + '-footer-btn' },
+ extraFooter ? _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-footer-extra' },
+ extraFooter
+ ) : null,
+ (0, _mapSelf2["default"])([nowEl, timePickerBtn, okBtn])
+ );
+ }
+ var cls = (0, _classnames2["default"])(prefixCls + '-footer', _defineProperty({}, prefixCls + '-footer-show-ok', okBtn));
+ footerEl = _react2["default"].createElement(
+ 'div',
+ { className: cls },
+ footerBtn
+ );
+ }
+ return footerEl;
+ };
+
+ return CalendarFooter;
+ }(_react2["default"].Component);
+
+ CalendarFooter.propTypes = {
+ prefixCls: _propTypes2["default"].string,
+ showDateInput: _propTypes2["default"].bool,
+ disabledTime: _propTypes2["default"].any,
+ timePicker: _propTypes2["default"].element,
+ selectedValue: _propTypes2["default"].any,
+ showOk: _propTypes2["default"].bool,
+ onSelect: _propTypes2["default"].func,
+ value: _propTypes2["default"].object,
+ renderFooter: _propTypes2["default"].func,
+ defaultValue: _propTypes2["default"].object,
+ mode: _propTypes2["default"].string
+ };
+ exports["default"] = CalendarFooter;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 471 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = TodayButton;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _util = __webpack_require__(32);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function TodayButton(_ref) {
+ var prefixCls = _ref.prefixCls,
+ locale = _ref.locale,
+ value = _ref.value,
+ timePicker = _ref.timePicker,
+ disabled = _ref.disabled,
+ disabledDate = _ref.disabledDate,
+ onToday = _ref.onToday,
+ text = _ref.text;
+
+ var localeNow = (!text && timePicker ? locale.now : text) || locale.today;
+ var disabledToday = disabledDate && !(0, _util.isAllowedDate)((0, _util.getTodayTime)(value), disabledDate);
+ var isDisabled = disabledToday || disabled;
+ var disabledTodayClass = isDisabled ? prefixCls + '-today-btn-disabled' : '';
+ return _react2["default"].createElement(
+ 'a',
+ {
+ className: prefixCls + '-today-btn ' + disabledTodayClass,
+ role: 'button',
+ onClick: isDisabled ? null : onToday,
+ title: (0, _util.getTodayTimeStr)(value)
+ },
+ localeNow
+ );
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 472 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = OkButton;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _beeButton = __webpack_require__(1289);
+
+ var _beeButton2 = _interopRequireDefault(_beeButton);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function OkButton(_ref) {
+ var prefixCls = _ref.prefixCls,
+ locale = _ref.locale,
+ okDisabled = _ref.okDisabled,
+ onOk = _ref.onOk;
+
+ var className = prefixCls + '-btn-ok';
+ // if (okDisabled) {
+ // className += ` ${prefixCls}-ok-btn-disabled`;
+ // }
+ return _react2["default"].createElement(
+ _beeButton2["default"],
+ {
+ className: className,
+ size: 'sm', colors: 'primary',
+ disabled: !!okDisabled,
+ onClick: okDisabled ? null : onOk
+ },
+ locale.ok
+ );
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 473 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = TimePickerButton;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _classnames2 = __webpack_require__(2);
+
+ var _classnames3 = _interopRequireDefault(_classnames2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function TimePickerButton(_ref) {
+ var _classnames;
+
+ var prefixCls = _ref.prefixCls,
+ locale = _ref.locale,
+ showTimePicker = _ref.showTimePicker,
+ onOpenTimePicker = _ref.onOpenTimePicker,
+ onCloseTimePicker = _ref.onCloseTimePicker,
+ timePickerDisabled = _ref.timePickerDisabled;
+
+ var className = (0, _classnames3["default"])((_classnames = {}, _defineProperty(_classnames, prefixCls + '-time-picker-btn', true), _defineProperty(_classnames, prefixCls + '-time-picker-btn-disabled', timePickerDisabled), _classnames));
+ var onClick = null;
+ if (!timePickerDisabled) {
+ onClick = showTimePicker ? onCloseTimePicker : onOpenTimePicker;
+ }
+ return _react2["default"].createElement(
+ 'a',
+ {
+ className: className,
+ role: 'button',
+ onClick: onClick
+ },
+ showTimePicker ? locale.dateSelect : locale.timeSelect
+ );
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 474 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.calendarMixinWrapper = exports.calendarMixinDefaultProps = exports.calendarMixinPropTypes = undefined;
+ exports.getNowByCurrentStateValue = getNowByCurrentStateValue;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _moment = __webpack_require__(4);
+
+ var _moment2 = _interopRequireDefault(_moment);
+
+ var _index = __webpack_require__(32);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ function noop() {}
+
+ function getNowByCurrentStateValue(value) {
+ var ret = void 0;
+ if (value) {
+ ret = (0, _index.getTodayTime)(value);
+ } else {
+ ret = (0, _moment2["default"])();
+ }
+ return ret;
+ }
+
+ var calendarMixinPropTypes = exports.calendarMixinPropTypes = {
+ value: _propTypes2["default"].object,
+ defaultValue: _propTypes2["default"].object,
+ onKeyDown: _propTypes2["default"].func
+ };
+
+ var calendarMixinDefaultProps = exports.calendarMixinDefaultProps = {
+ onKeyDown: noop
+ };
+
+ var calendarMixinWrapper = exports.calendarMixinWrapper = function calendarMixinWrapper(ComposeComponent) {
+ var _class, _temp2;
+
+ return _temp2 = _class = function (_ComposeComponent) {
+ _inherits(_class, _ComposeComponent);
+
+ function _class() {
+ var _temp, _this, _ret;
+
+ _classCallCheck(this, _class);
+
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ComposeComponent.call.apply(_ComposeComponent, [this].concat(args))), _this), _this.onSelect = function (value, cause) {
+ if (value) {
+ _this.setValue(value);
+ }
+ _this.setSelectedValue(value, cause);
+ }, _this.renderRoot = function (newProps) {
+ var _className;
+
+ var props = _this.props;
+ var prefixCls = props.prefixCls;
+
+ var className = (_className = {}, _defineProperty(_className, prefixCls, 1), _defineProperty(_className, prefixCls + '-hidden', !props.visible), _defineProperty(_className, props.className, !!props.className), _defineProperty(_className, newProps.className, !!newProps.className), _className);
+
+ return _react2["default"].createElement(
+ 'div',
+ {
+ ref: _this.saveRoot,
+ className: '' + (0, _classnames2["default"])(className),
+ style: _this.props.style,
+ tabIndex: '0',
+ onKeyDown: _this.onKeyDown
+ },
+ newProps.children
+ );
+ }, _this.setSelectedValue = function (selectedValue, cause) {
+ // if (this.isAllowedDate(selectedValue)) {
+ if (!('selectedValue' in _this.props)) {
+ _this.setState({
+ selectedValue: selectedValue
+ });
+ }
+ if (_this.props.onSelect) {
+ _this.props.onSelect(selectedValue, cause);
+ }
+ // }
+ }, _this.setValue = function (value) {
+ var originalValue = _this.state.value;
+ if (!('value' in _this.props)) {
+ _this.setState({
+ value: value
+ });
+ }
+ if (originalValue && value && !originalValue.isSame(value) || !originalValue && value || originalValue && !value) {
+ _this.props.onChange(value);
+ }
+ }, _this.isAllowedDate = function (value) {
+ var disabledDate = _this.props.disabledDate;
+ var disabledTime = _this.props.disabledTime;
+ return (0, _index.isAllowedDate)(value, disabledDate, disabledTime);
+ }, _temp), _possibleConstructorReturn(_this, _ret);
+ }
+
+ _class.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {
+ // Use origin function if provided
+ if (ComposeComponent.getDerivedStateFromProps) {
+ return ComposeComponent.getDerivedStateFromProps(nextProps, prevState);
+ }
+
+ var value = nextProps.value,
+ selectedValue = nextProps.selectedValue;
+
+ var newState = {};
+
+ if ('value' in nextProps) {
+ newState.value = value || nextProps.defaultValue || getNowByCurrentStateValue(prevState.value);
+ }
+ if ('selectedValue' in nextProps) {
+ newState.selectedValue = selectedValue;
+ }
+
+ return newState;
+ };
+
+ return _class;
+ }(ComposeComponent), _class.displayName = 'CalendarMixinWrapper', _class.defaultProps = ComposeComponent.defaultProps, _temp2;
+ };
+
+ /***/ }),
+ /* 475 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports['default'] = {
+ today: 'Today',
+ now: 'Now',
+ backToToday: 'Back to today',
+ ok: 'Ok',
+ clear: 'Clear',
+ month: 'Month',
+ year: 'Year',
+ timeSelect: 'select time',
+ dateSelect: 'select date',
+ weekSelect: 'Choose a week',
+ monthSelect: 'Choose a month',
+ yearSelect: 'Choose a year',
+ decadeSelect: 'Choose a decade',
+ yearFormat: 'YYYY',
+ dateFormat: 'M/D/YYYY',
+ dayFormat: 'D',
+ dateTimeFormat: 'M/D/YYYY HH:mm:ss',
+ monthBeforeYear: true,
+ previousMonth: 'Previous month (PageUp)',
+ nextMonth: 'Next month (PageDown)',
+ previousYear: 'Last year (Control + left)',
+ nextYear: 'Next year (Control + right)',
+ previousDecade: 'Last decade',
+ nextDecade: 'Next decade',
+ previousCentury: 'Last century',
+ nextCentury: 'Next century'
+ };
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 476 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.goStartMonth = goStartMonth;
+ exports.goEndMonth = goEndMonth;
+ exports.goTime = goTime;
+ exports.includesTime = includesTime;
+ function goStartMonth(time) {
+ return time.clone().startOf('month');
+ }
+
+ function goEndMonth(time) {
+ return time.clone().endOf('month');
+ }
+
+ function goTime(time, direction, unit) {
+ return time.clone().add(direction, unit);
+ }
+
+ function includesTime() {
+ var timeList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ var time = arguments[1];
+ var unit = arguments[2];
+
+ return timeList.some(function (t) {
+ return t.isSame(time, unit);
+ });
+ }
+
+ /***/ }),
+ /* 477 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = void 0;
+
+ var _react = _interopRequireWildcard(__webpack_require__(0));
+
+ var _propTypes = _interopRequireDefault(__webpack_require__(1));
+
+ var _moment = _interopRequireDefault(__webpack_require__(4));
+
+ var _classnames = _interopRequireDefault(__webpack_require__(2));
+
+ var _reactLifecyclesCompat = __webpack_require__(14);
+
+ var _Header = _interopRequireDefault(__webpack_require__(1293));
+
+ var _Combobox = _interopRequireDefault(__webpack_require__(1294));
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
+
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
+
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function noop() {}
+
+ function generateOptions(length, disabledOptions, hideDisabledOptions) {
+ var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
+ var arr = [];
+
+ for (var value = 0; value < length; value += step) {
+ if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {
+ arr.push(value);
+ }
+ }
+
+ return arr;
+ }
+
+ function toNearestValidTime(time, hourOptions, minuteOptions, secondOptions) {
+ var hour = hourOptions.slice().sort(function (a, b) {
+ return Math.abs(time.hour() - a) - Math.abs(time.hour() - b);
+ })[0];
+ var minute = minuteOptions.slice().sort(function (a, b) {
+ return Math.abs(time.minute() - a) - Math.abs(time.minute() - b);
+ })[0];
+ var second = secondOptions.slice().sort(function (a, b) {
+ return Math.abs(time.second() - a) - Math.abs(time.second() - b);
+ })[0];
+ return (0, _moment["default"])("".concat(hour, ":").concat(minute, ":").concat(second), 'HH:mm:ss');
+ }
+
+ var Panel =
+ /*#__PURE__*/
+ function (_Component) {
+ _inherits(Panel, _Component);
+
+ function Panel() {
+ var _getPrototypeOf2;
+
+ var _this;
+
+ _classCallCheck(this, Panel);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Panel)).call.apply(_getPrototypeOf2, [this].concat(args)));
+
+ _defineProperty(_assertThisInitialized(_this), "state", {});
+
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (newValue) {
+ var onChange = _this.props.onChange;
+
+ _this.setState({
+ value: newValue
+ });
+
+ onChange(newValue);
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "onAmPmChange", function (ampm) {
+ var onAmPmChange = _this.props.onAmPmChange;
+ onAmPmChange(ampm);
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "onCurrentSelectPanelChange", function (currentSelectPanel) {
+ _this.setState({
+ currentSelectPanel: currentSelectPanel
+ });
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "disabledHours", function () {
+ var _this$props = _this.props,
+ use12Hours = _this$props.use12Hours,
+ disabledHours = _this$props.disabledHours;
+ var disabledOptions = disabledHours();
+
+ if (use12Hours && Array.isArray(disabledOptions)) {
+ if (_this.isAM()) {
+ disabledOptions = disabledOptions.filter(function (h) {
+ return h < 12;
+ }).map(function (h) {
+ return h === 0 ? 12 : h;
+ });
+ } else {
+ disabledOptions = disabledOptions.map(function (h) {
+ return h === 12 ? 12 : h - 12;
+ });
+ }
+ }
+
+ return disabledOptions;
+ });
+
+ return _this;
+ }
+
+ _createClass(Panel, [{
+ key: "close",
+ // https://github.com/ant-design/ant-design/issues/5829
+ value: function close() {
+ var onEsc = this.props.onEsc;
+ onEsc();
+ }
+ }, {
+ key: "isAM",
+ value: function isAM() {
+ var defaultOpenValue = this.props.defaultOpenValue;
+ var value = this.state.value;
+ var realValue = value || defaultOpenValue;
+ return realValue.hour() >= 0 && realValue.hour() < 12;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ prefixCls = _this$props2.prefixCls,
+ className = _this$props2.className,
+ placeholder = _this$props2.placeholder,
+ disabledMinutes = _this$props2.disabledMinutes,
+ disabledSeconds = _this$props2.disabledSeconds,
+ hideDisabledOptions = _this$props2.hideDisabledOptions,
+ showHour = _this$props2.showHour,
+ showMinute = _this$props2.showMinute,
+ showSecond = _this$props2.showSecond,
+ format = _this$props2.format,
+ defaultOpenValue = _this$props2.defaultOpenValue,
+ clearText = _this$props2.clearText,
+ onEsc = _this$props2.onEsc,
+ addon = _this$props2.addon,
+ use12Hours = _this$props2.use12Hours,
+ focusOnOpen = _this$props2.focusOnOpen,
+ onKeyDown = _this$props2.onKeyDown,
+ hourStep = _this$props2.hourStep,
+ minuteStep = _this$props2.minuteStep,
+ secondStep = _this$props2.secondStep,
+ inputReadOnly = _this$props2.inputReadOnly,
+ clearIcon = _this$props2.clearIcon;
+ var _this$state = this.state,
+ value = _this$state.value,
+ currentSelectPanel = _this$state.currentSelectPanel;
+ var disabledHourOptions = this.disabledHours();
+ var disabledMinuteOptions = disabledMinutes(value ? value.hour() : null);
+ var disabledSecondOptions = disabledSeconds(value ? value.hour() : null, value ? value.minute() : null);
+ var hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);
+ var minuteOptions = generateOptions(60, disabledMinuteOptions, hideDisabledOptions, minuteStep);
+ var secondOptions = generateOptions(60, disabledSecondOptions, hideDisabledOptions, secondStep);
+ var validDefaultOpenValue = toNearestValidTime(defaultOpenValue, hourOptions, minuteOptions, secondOptions);
+ return _react["default"].createElement("div", {
+ className: (0, _classnames["default"])(className, "".concat(prefixCls, "-inner"))
+ }, _react["default"].createElement(_Header["default"], {
+ clearText: clearText,
+ prefixCls: prefixCls,
+ defaultOpenValue: validDefaultOpenValue,
+ value: value,
+ currentSelectPanel: currentSelectPanel,
+ onEsc: onEsc,
+ format: format,
+ placeholder: placeholder,
+ hourOptions: hourOptions,
+ minuteOptions: minuteOptions,
+ secondOptions: secondOptions,
+ disabledHours: this.disabledHours,
+ disabledMinutes: disabledMinutes,
+ disabledSeconds: disabledSeconds,
+ onChange: this.onChange,
+ focusOnOpen: focusOnOpen,
+ onKeyDown: onKeyDown,
+ inputReadOnly: inputReadOnly,
+ clearIcon: clearIcon
+ }), _react["default"].createElement(_Combobox["default"], {
+ prefixCls: prefixCls,
+ value: value,
+ defaultOpenValue: validDefaultOpenValue,
+ format: format,
+ onChange: this.onChange,
+ onAmPmChange: this.onAmPmChange,
+ showHour: showHour,
+ showMinute: showMinute,
+ showSecond: showSecond,
+ hourOptions: hourOptions,
+ minuteOptions: minuteOptions,
+ secondOptions: secondOptions,
+ disabledHours: this.disabledHours,
+ disabledMinutes: disabledMinutes,
+ disabledSeconds: disabledSeconds,
+ onCurrentSelectPanelChange: this.onCurrentSelectPanelChange,
+ use12Hours: use12Hours,
+ onEsc: onEsc,
+ isAM: this.isAM()
+ }), addon(this));
+ }
+ }], [{
+ key: "getDerivedStateFromProps",
+ value: function getDerivedStateFromProps(props, state) {
+ if ('value' in props) {
+ return _objectSpread({}, state, {
+ value: props.value
+ });
+ }
+
+ return null;
+ }
+ }]);
+
+ return Panel;
+ }(_react.Component);
+
+ _defineProperty(Panel, "propTypes", {
+ clearText: _propTypes["default"].string,
+ prefixCls: _propTypes["default"].string,
+ className: _propTypes["default"].string,
+ defaultOpenValue: _propTypes["default"].object,
+ value: _propTypes["default"].object,
+ placeholder: _propTypes["default"].string,
+ format: _propTypes["default"].string,
+ inputReadOnly: _propTypes["default"].bool,
+ disabledHours: _propTypes["default"].func,
+ disabledMinutes: _propTypes["default"].func,
+ disabledSeconds: _propTypes["default"].func,
+ hideDisabledOptions: _propTypes["default"].bool,
+ onChange: _propTypes["default"].func,
+ onAmPmChange: _propTypes["default"].func,
+ onEsc: _propTypes["default"].func,
+ showHour: _propTypes["default"].bool,
+ showMinute: _propTypes["default"].bool,
+ showSecond: _propTypes["default"].bool,
+ use12Hours: _propTypes["default"].bool,
+ hourStep: _propTypes["default"].number,
+ minuteStep: _propTypes["default"].number,
+ secondStep: _propTypes["default"].number,
+ addon: _propTypes["default"].func,
+ focusOnOpen: _propTypes["default"].bool,
+ onKeyDown: _propTypes["default"].func,
+ clearIcon: _propTypes["default"].node
+ });
+
+ _defineProperty(Panel, "defaultProps", {
+ prefixCls: 'rc-time-picker-panel',
+ onChange: noop,
+ disabledHours: noop,
+ disabledMinutes: noop,
+ disabledSeconds: noop,
+ defaultOpenValue: (0, _moment["default"])(),
+ use12Hours: false,
+ addon: noop,
+ onKeyDown: noop,
+ onAmPmChange: noop,
+ inputReadOnly: false
+ });
+
+ (0, _reactLifecyclesCompat.polyfill)(Panel);
+ var _default = Panel;
+ exports["default"] = _default;
+
+ /***/ }),
+ /* 478 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+ className: _propTypes2["default"].string,
+ colSpan: _propTypes2["default"].number,
+ title: _propTypes2["default"].node,
+ dataIndex: _propTypes2["default"].string,
+ width: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
+ fixed: _propTypes2["default"].oneOf([true, 'left', 'right']),
+ render: _propTypes2["default"].func,
+ onCellClick: _propTypes2["default"].func,
+ ifshow: _propTypes2["default"].bool,
+ fieldType: _propTypes2["default"].string // 类型
+ };
+
+ var Column = function (_Component) {
+ _inherits(Column, _Component);
+
+ function Column() {
+ _classCallCheck(this, Column);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ return Column;
+ }(_react.Component);
+
+ Column.defaultProps = {
+ ifshow: true
+ };
+
+
+ Column.propTypes = propTypes;
+
+ exports["default"] = Column;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 479 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var ColumnGroup = function (_Component) {
+ _inherits(ColumnGroup, _Component);
+
+ function ColumnGroup() {
+ _classCallCheck(this, ColumnGroup);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ return ColumnGroup;
+ }(_react.Component);
+
+ ColumnGroup.propTypes = {
+ title: _propTypes2["default"].node
+ };
+ exports["default"] = ColumnGroup;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 480 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _beeAnimate = __webpack_require__(57);
+
+ var _beeAnimate2 = _interopRequireDefault(_beeAnimate);
+
+ var _util = __webpack_require__(187);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _tinperBeeCore = __webpack_require__(188);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var browserUa = typeof window !== 'undefined' ? (0, _util.browser)(window.navigator) : '';
+ var ieOrEdge = /.*(IE|Edge).+/.test(browserUa);
+ // const uaArray = browserUa.split(' ');
+ // const gtIE8 = uaArray.length !== 2 || uaArray[0].indexOf('IE') === -1 || Number(uaArray[1]) > 8;
+
+ var defaultTitle = '---';
+
+ var TreeNode = function (_React$Component) {
+ _inherits(TreeNode, _React$Component);
+
+ function TreeNode(props) {
+ _classCallCheck(this, TreeNode);
+
+ var _this2 = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _this2.getNodeChildren = function () {
+ var children = _this2.props.children;
+
+ var originList = (0, _util.toArray)(children).filter(function (node) {
+ return node;
+ });
+ var targetList = (0, _util.getNodeChildren)(originList);
+
+ if (originList.length !== targetList.length) {
+ (0, _util.warnOnlyTreeNode)();
+ }
+
+ return targetList;
+ };
+
+ ['onExpand', 'onCheck', 'onContextMenu', 'onMouseEnter', 'onMouseLeave', 'onDragStart', 'onDragEnter', 'onDragOver', 'onDragLeave', 'onDrop', 'onDragEnd', 'onDoubleClick', 'onKeyDown'].forEach(function (m) {
+ _this2[m] = _this2[m].bind(_this2);
+ });
+ _this2.state = {
+ dataLoading: false,
+ dragNodeHighlight: false
+ };
+ return _this2;
+ }
+
+ TreeNode.prototype.componentDidMount = function componentDidMount() {
+ if (!this.props.root._treeNodeInstances) {
+ this.props.root._treeNodeInstances = [];
+ }
+ this.props.root._treeNodeInstances.push(this);
+ };
+ // shouldComponentUpdate(nextProps) {
+ // if (!nextProps.expanded) {
+ // return false;
+ // }
+ // return true;
+ // }
+
+ TreeNode.prototype.onCheck = function onCheck() {
+
+ this.props.root.onCheck(this);
+ };
+
+ TreeNode.prototype.onSelect = function onSelect() {
+ clearTimeout(this.doubleClickFlag);
+ var _this = this;
+ if (this.props.onDoubleClick) {
+ //执行延时
+ this.doubleClickFlag = setTimeout(function () {
+ //do function在此处写单击事件要执行的代码
+ _this.props.root.onSelect(_this);
+ }, 300);
+ } else {
+ _this.props.root.onSelect(_this);
+ }
+ };
+
+ TreeNode.prototype.onDoubleClick = function onDoubleClick() {
+ clearTimeout(this.doubleClickFlag);
+ this.props.root.onDoubleClick(this);
+ };
+
+ TreeNode.prototype.onMouseEnter = function onMouseEnter(e) {
+ e.preventDefault();
+ this.props.root.onMouseEnter(e, this);
+ };
+
+ TreeNode.prototype.onMouseLeave = function onMouseLeave(e) {
+ e.preventDefault();
+ this.props.root.onMouseLeave(e, this);
+ };
+
+ TreeNode.prototype.onContextMenu = function onContextMenu(e) {
+ e.preventDefault();
+ this.props.root.onContextMenu(e, this);
+ };
+
+ TreeNode.prototype.onDragStart = function onDragStart(e) {
+ // console.log('dragstart', this.props.eventKey, e);
+ // e.preventDefault();
+ e.stopPropagation();
+ this.setState({
+ dragNodeHighlight: true
+ });
+ this.props.root.onDragStart(e, this);
+ try {
+ // ie throw error
+ // firefox-need-it
+ e.dataTransfer.setData('text/plain', '');
+ } finally {
+ // empty
+ }
+ };
+
+ TreeNode.prototype.onDragEnter = function onDragEnter(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ this.props.root.onDragEnter(e, this);
+ };
+
+ TreeNode.prototype.onDragOver = function onDragOver(e) {
+ // todo disabled
+ e.preventDefault();
+ e.stopPropagation();
+ this.props.root.onDragOver(e, this);
+ return false;
+ };
+
+ TreeNode.prototype.onDragLeave = function onDragLeave(e) {
+ e.stopPropagation();
+ this.props.root.onDragLeave(e, this);
+ };
+
+ TreeNode.prototype.onDrop = function onDrop(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ this.setState({
+ dragNodeHighlight: false
+ });
+ this.props.root.onDrop(e, this);
+ };
+
+ TreeNode.prototype.onDragEnd = function onDragEnd(e) {
+ e.stopPropagation();
+ this.setState({
+ dragNodeHighlight: false
+ });
+ this.props.root.onDragEnd(e, this);
+ };
+
+ TreeNode.prototype.onExpand = function onExpand() {
+ var _this3 = this;
+
+ var callbackPromise = this.props.root.onExpand(this);
+ if (callbackPromise && (typeof callbackPromise === 'undefined' ? 'undefined' : _typeof(callbackPromise)) === 'object') {
+ var setLoading = function setLoading(dataLoading) {
+ _this3.setState({
+ dataLoading: dataLoading
+ });
+ };
+ setLoading(true);
+ callbackPromise.then(function () {
+ setLoading(false);
+ }, function () {
+ setLoading(false);
+ });
+ }
+ };
+
+ // keyboard event support
+
+
+ TreeNode.prototype.onKeyDown = function onKeyDown(e) {
+ this.props.root.onKeyDown(e, this);
+ if (e.keyCode == _tinperBeeCore.KeyCode.SPACE || e.keyCode == _tinperBeeCore.KeyCode.DOWN || e.keyCode == _tinperBeeCore.KeyCode.LEFT || e.keyCode == _tinperBeeCore.KeyCode.RIGHT || e.keyCode == _tinperBeeCore.KeyCode.UP) {
+ e.preventDefault();
+ }
+ };
+
+ TreeNode.prototype.renderSwitcher = function renderSwitcher(props, expandedState) {
+ var stateIcon = void 0;
+ var prefixCls = props.prefixCls;
+ var switcherCls = _defineProperty({}, prefixCls + '-switcher', true);
+ if (!props.showLine) {
+ switcherCls[prefixCls + '-noline_' + expandedState] = true;
+ } else if (props.pos === '0-0') {
+ switcherCls[prefixCls + '-roots_' + expandedState] = true;
+ } else {
+ switcherCls[prefixCls + '-center_' + expandedState] = !props.last;
+ switcherCls[prefixCls + '-bottom_' + expandedState] = props.last;
+ }
+
+ if (expandedState === 'open' && props.openIcon) {
+ stateIcon = props.openIcon;
+ switcherCls['icon-none'] = true;
+ }
+ if (expandedState === 'close' && props.closeIcon) {
+ stateIcon = props.closeIcon;
+ switcherCls['icon-none'] = true;
+ }
+ //switcherCls[stateIcon] = stateIcon;
+ props.switcherClass ? switcherCls['' + props.switcherClass] = true : '';
+ if (props.disabled && !props.mustExpandable) {
+ switcherCls[prefixCls + '-switcher-disabled'] = true;
+ return _react2["default"].createElement(
+ 'span',
+ { className: (0, _classnames2["default"])(switcherCls), style: props.switcherStyle },
+ stateIcon
+ );
+ }
+ return _react2["default"].createElement(
+ 'span',
+ { className: (0, _classnames2["default"])(switcherCls), style: props.switcherStyle, onClick: this.onExpand },
+ stateIcon
+ );
+ };
+
+ TreeNode.prototype.renderCheckbox = function renderCheckbox(props) {
+ var prefixCls = props.prefixCls;
+ var checkboxCls = _defineProperty({}, prefixCls + '-checkbox', true);
+ if (props.checked) {
+ checkboxCls[prefixCls + '-checkbox-checked'] = true;
+ } else if (props.halfChecked) {
+ checkboxCls[prefixCls + '-checkbox-indeterminate'] = true;
+ }
+ var customEle = null;
+ if (typeof props.checkable !== 'boolean') {
+ customEle = props.checkable;
+ }
+ if (props.disabled || props.disableCheckbox) {
+ checkboxCls[prefixCls + '-checkbox-disabled'] = true;
+ return _react2["default"].createElement(
+ 'span',
+ { className: (0, _classnames2["default"])(checkboxCls) },
+ customEle
+ );
+ }
+ return _react2["default"].createElement(
+ 'span',
+ {
+ className: (0, _classnames2["default"])(checkboxCls),
+ onClick: this.onCheck
+ },
+ customEle
+ );
+ };
+
+ TreeNode.prototype.renderChildren = function renderChildren(props) {
+ var renderFirst = this.renderFirst;
+ this.renderFirst = 1;
+ var transitionAppear = true;
+ if (!renderFirst && props.expanded) {
+ transitionAppear = false;
+ }
+ var children = props.children;
+ var newChildren = children;
+ // 确定所有子节点是否是TreeNode
+ var allTreeNode = false;
+ if (Array.isArray(children)) {
+ for (var index = 0; index < children.length; index++) {
+ var item = children[index];
+ allTreeNode = item.type.isTreeNode == 1;
+ if (!allTreeNode) {
+ //当检查到子节点中有不是 TreeNode 的,则直接结束检查。同时不会渲染所有子节点
+ break;
+ }
+ }
+ } else if (children && children.type && children.type.isTreeNode == 1) {
+ allTreeNode = true;
+ }
+ // 如果props.children的长度大于0才可以生成子对象
+ if (allTreeNode && _react2["default"].Children.count(children)) {
+ var _cls;
+
+ var cls = (_cls = {}, _defineProperty(_cls, props.prefixCls + '-child-tree', true), _defineProperty(_cls, props.prefixCls + '-child-tree-open', props.expanded), _cls);
+ if (props.showLine) {
+ cls[props.prefixCls + '-line'] = !props.last;
+ }
+ var animProps = {};
+ if (props.openTransitionName) {
+ animProps.transitionName = props.openTransitionName;
+ } else if (_typeof(props.openAnimation) === 'object') {
+ animProps.animation = _extends({}, props.openAnimation);
+ if (!transitionAppear) {
+ delete animProps.animation.appear;
+ }
+ }
+ newChildren = _react2["default"].createElement(
+ _beeAnimate2["default"],
+ _extends({}, animProps, {
+ showProp: 'data-expanded',
+ transitionAppear: transitionAppear,
+ component: ''
+ }),
+ !props.expanded ? null : _react2["default"].createElement(
+ 'ul',
+ { className: (0, _classnames2["default"])(cls), 'data-expanded': props.expanded },
+ _react2["default"].Children.map(children, function (item, index) {
+ return props.root.renderTreeNode(item, index, props.pos);
+ }, props.root)
+ )
+ );
+ }
+ return newChildren;
+ };
+
+ /**
+ *判断是否为叶子节点,isLeaf的优先级>props.children。如果是异步加载是根据isLeaf的值进行判断的
+ *
+ * @returns
+ * @memberof TreeNode
+ */
+ TreeNode.prototype.checkIsLeaf = function checkIsLeaf() {
+ var _props = this.props,
+ isLeaf = _props.isLeaf,
+ loadData = _props.loadData;
+
+ var rs = isLeaf;
+ if (rs === false || rs === true) {
+ return rs;
+ } else {
+ var hasChildren = this.getNodeChildren().length !== 0;
+ return !loadData && !hasChildren;
+ }
+ };
+
+ TreeNode.prototype.render = function render() {
+ var _iconEleCls,
+ _this4 = this;
+
+ var props = this.props;
+ var prefixCls = props.prefixCls;
+ var expandedState = props.expanded ? 'open' : 'close';
+ var iconState = expandedState;
+
+ var canRenderSwitcher = true;
+ var content = props.title;
+ var newChildren = this.renderChildren(props);
+ var openIconCls = false,
+ closeIconCls = false;
+
+ //以下变量控制是否鼠标单机双击方法中的变量
+ var timer = 0;
+ var delay = 500;
+ var prevent = false;
+
+ // if (!newChildren || newChildren === props.children) {
+ // // content = newChildren;
+ // newChildren = null;
+ // if (!props.loadData || props.isLeaf) {
+ // canRenderSwitcher = false;
+ // iconState = 'docu';
+ // }
+ // }
+ if (this.checkIsLeaf()) {
+ canRenderSwitcher = false;
+ iconState = 'docu';
+ }
+ // For performance, does't render children into dom when `!props.expanded` (move to Animate)
+ // if (!props.expanded) {
+ // newChildren = null;
+ // }
+
+ var iconEleCls = (_iconEleCls = {}, _defineProperty(_iconEleCls, prefixCls + '-iconEle', true), _defineProperty(_iconEleCls, prefixCls + '-icon_loading', this.state.dataLoading), _defineProperty(_iconEleCls, prefixCls + '-icon__' + iconState, true), _iconEleCls);
+ var selectHandle = function selectHandle() {
+ var titleClass = props.titleClass ? prefixCls + '-title' + ' ' + props.className : prefixCls + '-title';
+ // const icon = (props.showIcon || props.loadData && this.state.dataLoading) ?
+ // : null;
+ var icon = void 0;
+ if (props.showIcon && props.icon) {
+ icon = _react2["default"].createElement(
+ 'span',
+ {
+ className: (0, _classnames2["default"])(prefixCls + '-iconEle', prefixCls + '-icon__customize')
+ },
+ typeof currentIcon === 'function' ? _react2["default"].createElement(props.icon, _extends({}, _this4.props)) : props.icon
+ );
+ } else if (props.showIcon || props.loadData && _this4.state.dataLoading) {
+ icon = _react2["default"].createElement('span', { className: (0, _classnames2["default"])(iconEleCls) });
+ }
+ var title = _react2["default"].createElement(
+ 'span',
+ { className: titleClass, style: props.titleStyle },
+ content
+ );
+ var wrap = prefixCls + '-node-content-wrapper';
+ var domProps = {
+ className: wrap + ' ' + wrap + '-' + (iconState === expandedState ? iconState : 'normal')
+ };
+ if (!props.disabled) {
+ if (props.selected || !props._dropTrigger && _this4.state.dragNodeHighlight) {
+ domProps.className += ' ' + prefixCls + '-node-selected';
+ }
+ domProps.onClick = function (e) {
+ var _this = _this4;
+ e.preventDefault();
+ if (props.selectable) {
+ _this.onSelect();
+ }
+
+ // not fire check event
+ // if (props.checkable) {
+ // this.onCheck();
+ // }
+ };
+
+ if (props.onDoubleClick) {
+ domProps.onDoubleClick = _this4.onDoubleClick;
+ }
+
+ if (props.onRightClick) {
+ domProps.onContextMenu = _this4.onContextMenu;
+ }
+ if (props.onMouseEnter) {
+ domProps.onMouseEnter = _this4.onMouseEnter;
+ }
+ if (props.onMouseLeave) {
+ domProps.onMouseLeave = _this4.onMouseLeave;
+ }
+
+ if (props.draggable) {
+ domProps.className += ' draggable';
+ if (ieOrEdge) {
+ // ie bug!
+ domProps.href = '#';
+ }
+ domProps.draggable = true;
+ domProps['aria-grabbed'] = true;
+ domProps.onDragStart = _this4.onDragStart;
+ }
+ }
+ //设置tabIndex
+ if (props.focusable) {
+ domProps.onKeyDown = _this4.onKeyDown;
+ domProps.tabIndex = -1;
+ if (props.tabIndexKey) {
+ if (props.eventKey == props.tabIndexKey) {
+ domProps.tabIndex = props.tabIndexValue;
+ }
+ } else if (props.pos == '0-0') {
+ domProps.tabIndex = props.tabIndexValue;
+ }
+ }
+
+ return _react2["default"].createElement(
+ 'a',
+ _extends({ ref: function ref(el) {
+ _this4.selectHandle = el;
+ }, pos: props.pos, title: typeof content === 'string' ? content : '' }, domProps),
+ icon,
+ title
+ );
+ };
+
+ var liProps = {};
+ if (props.liAttr) {
+ liProps = _extends({}, props.liAttr);
+ }
+ if (props.draggable) {
+ liProps.onDragEnter = this.onDragEnter;
+ liProps.onDragOver = this.onDragOver;
+ liProps.onDragLeave = this.onDragLeave;
+ liProps.onDrop = this.onDrop;
+ liProps.onDragEnd = this.onDragEnd;
+ }
+ var disabledCls = '';
+ var dragOverCls = '';
+ if (props.disabled) {
+ disabledCls = prefixCls + '-treenode-disabled';
+ } else if (props.dragOver) {
+ dragOverCls = 'drag-over';
+ } else if (props.dragOverGapTop) {
+ dragOverCls = 'drag-over-gap-top';
+ } else if (props.dragOverGapBottom) {
+ dragOverCls = 'drag-over-gap-bottom';
+ }
+
+ var filterCls = props.filterTreeNode ? props.filterTreeNode(this) ? 'filter-node' : '' : '';
+
+ var noopSwitcher = function noopSwitcher() {
+ var _cls2;
+
+ var cls = (_cls2 = {}, _defineProperty(_cls2, prefixCls + '-switcher', true), _defineProperty(_cls2, prefixCls + '-switcher-noop', true), _cls2);
+ if (props.showLine) {
+ // console.log('line---------');
+ cls[prefixCls + '-center_docu'] = !props.last;
+ cls[prefixCls + '-bottom_docu'] = props.last;
+ } else {
+ cls[prefixCls + '-noline_docu'] = true;
+ }
+ return _react2["default"].createElement('span', { className: (0, _classnames2["default"])(cls) });
+ };
+ var selectedCls = props.selected ? prefixCls + '-treenode-selected' : '';
+ var focusedCls = props.focused ? prefixCls + '-treenode-focused' : '';
+ var expandedCls = prefixCls + '-treenode-' + expandedState;
+ return _react2["default"].createElement(
+ 'li',
+ _extends({}, liProps, { style: props.style,
+ className: (0, _classnames2["default"])(props.className, disabledCls, dragOverCls, filterCls, selectedCls, focusedCls, expandedCls)
+ }),
+ canRenderSwitcher ? this.renderSwitcher(props, expandedState) : noopSwitcher(),
+ props.checkable ? this.renderCheckbox(props) : null,
+ selectHandle(),
+ newChildren
+ );
+ };
+
+ return TreeNode;
+ }(_react2["default"].Component);
+
+ TreeNode.isTreeNode = 1;
+
+ TreeNode.propTypes = {
+ prefixCls: _propTypes2["default"].string,
+ disabled: _propTypes2["default"].bool,
+ disableCheckbox: _propTypes2["default"].bool,
+ expanded: _propTypes2["default"].bool,
+ isLeaf: _propTypes2["default"].bool,
+ root: _propTypes2["default"].object,
+ onSelect: _propTypes2["default"].func,
+ openIcon: _propTypes2["default"].element,
+ closeIcon: _propTypes2["default"].element,
+ style: _propTypes2["default"].object,
+ className: _propTypes2["default"].string,
+ titleClass: _propTypes2["default"].string,
+ titleStyle: _propTypes2["default"].object,
+ switcherClass: _propTypes2["default"].string,
+ switcherStyle: _propTypes2["default"].object
+ };
+
+ TreeNode.defaultProps = {
+ title: defaultTitle,
+ tabIndexValue: 0,
+ mustExpandable: false
+ };
+
+ exports["default"] = TreeNode;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 481 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 482 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ /**
+ * 在此存储全局配置项
+ */
+
+ // 树懒加载功能,需要用到的变量
+ exports["default"] = {
+ loadBuffer: 5, //懒加载时缓冲区数据量
+ defaultRowsInView: 20, //可视区数据量
+ rowDiff: 3 //行差值,需要重新截取数据的阈值
+ };
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 483 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _ownerDocument = __webpack_require__(112);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _getContainer = __webpack_require__(484);
+
+ var _getContainer2 = _interopRequireDefault(_getContainer);
+
+ var _tinperBeeCore = __webpack_require__(33);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var isReact16 = _reactDom2["default"].createPortal !== undefined;
+ var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
+
+ var propTypes = {
+ /**
+ * 存放子组件的容器
+ */
+ container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
+ };
+
+ var defaultProps = {};
+
+ /**
+ * Portal组件是将子组件渲染
+ */
+
+ var Portal = function (_Component) {
+ _inherits(Portal, _Component);
+
+ function Portal(props) {
+ _classCallCheck(this, Portal);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.getMountNode = _this.getMountNode.bind(_this);
+ _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
+ _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
+ _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
+ _this.renderOverlay = _this.renderOverlay.bind(_this);
+ _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
+
+ _this.overlayTarget = isReact16 ? document.createElement('div') : null;
+ return _this;
+ }
+
+ Portal.prototype.componentDidMount = function componentDidMount() {
+ if (isReact16) {
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ } else {
+ this.renderOverlay();
+ }
+
+ this.mounted = true;
+ };
+
+ Portal.prototype.componentDidUpdate = function componentDidUpdate() {
+ if (isReact16) {
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+ if (overlay === null) {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ } else {}
+ } else {
+ this.renderOverlay();
+ }
+ };
+ //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
+
+
+ Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.overlayTarget && nextProps.container !== this.props.container) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+
+ Portal.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+
+ this.mounted = false;
+ };
+
+ Portal.prototype.getMountNode = function getMountNode() {
+ return this.overlayTarget;
+ };
+
+ Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
+ if (!this.mounted) {
+ throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
+ }
+
+ if (this.overlayInstance) {
+ return _reactDom2["default"].findDOMNode(this.overlayInstance);
+ }
+
+ return null;
+ };
+
+ /**
+ * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
+ */
+
+ Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
+ if (!this.overlayTarget) {
+ this.overlayTarget = document.createElement('div');
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+ /**
+ * 将要添加的子元素从容器中移除,并把变量置为null
+ */
+
+
+ Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
+ if (this.overlayTarget) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.overlayTarget = null;
+ }
+ this.portalContainerNode = null;
+ };
+ /**
+ * 手动渲染_overlayTarget
+ */
+
+
+ Portal.prototype.renderOverlay = function renderOverlay() {
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ // Save reference for future access.
+ if (overlay !== null) {
+ this.mountOverlayTarget();
+ this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
+ } else {
+ // Unrender if the component is null for transitions to null
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ }
+ };
+ /**
+ * 销毁_overlayTarget组件。并把_overlayInstance置为null
+ */
+
+
+ Portal.prototype.unrenderOverlay = function unrenderOverlay() {
+ if (this.overlayTarget) {
+ !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
+ this.overlayInstance = null;
+ }
+ };
+
+ Portal.prototype.render = function render() {
+ if (!isReact16) {
+ return null;
+ }
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
+ };
+
+ return Portal;
+ }(_react.Component);
+
+ ;
+
+ Portal.propTypes = propTypes;
+ Portal.defaultProps = defaultProps;
+
+ exports["default"] = Portal;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 484 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = getContainer;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ /**
+ * 获取容器组件
+ * @param {[type]} container [description]
+ * @param {[type]} defaultContainer [description]
+ * @return {[type]} [description]
+ */
+ function getContainer(container, defaultContainer) {
+ container = typeof container === 'function' ? container() : container;
+ return _reactDom2["default"].findDOMNode(container) || defaultContainer;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 485 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 486 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (node, event, handler, capture) {
+ (0, _on2["default"])(node, event, handler, capture);
+
+ return {
+ remove: function remove() {
+ (0, _off2["default"])(node, event, handler, capture);
+ }
+ };
+ };
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _off = __webpack_require__(49);
+
+ var _off2 = _interopRequireDefault(_off);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 487 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var getClass = exports.getClass = function getClass(props, doing) {
+ var dropClass = props.dropClass,
+ dropOverClass = props.dropOverClass,
+ dragClass = props.dragClass,
+ dragingClass = props.dragingClass,
+ type = props.type;
+
+
+ var verticalObj = {
+ drop: {}, drag: {}
+ };
+ verticalObj.drop['u-drop ' + dropClass] = true;
+ verticalObj.drop['u-droping ' + dropOverClass] = doing;
+ verticalObj.drag['u-drag ' + dragClass] = true;
+ verticalObj.drag['u-draging ' + dragingClass] = doing;
+
+ var horizontalObj = {
+ drop: {}, drag: {}
+ };
+ horizontalObj.drop['u-drop u-drop-horizontal ' + dropClass] = true;
+ horizontalObj.drop['u-droping u-droping-horizontal ' + dropOverClass] = doing;
+ horizontalObj.drag['u-drag u-drag-horizontal ' + dragClass] = true;
+ horizontalObj.drag['u-draging u-draging-horizontal ' + dragingClass] = doing;
+
+ switch (type) {
+ case 'vertical':
+ return verticalObj;
+ break;
+ case 'horizontal':
+ return horizontalObj;
+ break;
+ case 'betweenVertical':
+ return verticalObj;
+ break;
+ case 'betweenHorizontal':
+ return horizontalObj;
+ break;
+ }
+ };
+
+ /***/ }),
+ /* 488 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = findDOMNode;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_dom__);
+
+ /**
+ * Return if a node is a DOM node. Else will return by `findDOMNode`
+ */
+
+ function findDOMNode(node) {
+ if (node instanceof HTMLElement) {
+ return node;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_0_react_dom___default.a.findDOMNode(node);
+ }
+
+ /***/ }),
+ /* 489 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(global) {/**
+ * lodash (Custom Build)
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright jQuery Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+
+ /** Used as the `TypeError` message for "Functions" methods. */
+ var FUNC_ERROR_TEXT = 'Expected a function';
+
+ /** Used as references for various `Number` constants. */
+ var NAN = 0 / 0;
+
+ /** `Object#toString` result references. */
+ var symbolTag = '[object Symbol]';
+
+ /** Used to match leading and trailing whitespace. */
+ var reTrim = /^\s+|\s+$/g;
+
+ /** Used to detect bad signed hexadecimal string values. */
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+ /** Used to detect binary string values. */
+ var reIsBinary = /^0b[01]+$/i;
+
+ /** Used to detect octal string values. */
+ var reIsOctal = /^0o[0-7]+$/i;
+
+ /** Built-in method references without a dependency on `root`. */
+ var freeParseInt = parseInt;
+
+ /** Detect free variable `global` from Node.js. */
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
+
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+ /** Used as a reference to the global object. */
+ var root = freeGlobal || freeSelf || Function('return this')();
+
+ /** Used for built-in method references. */
+ var objectProto = Object.prototype;
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var objectToString = objectProto.toString;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax = Math.max,
+ nativeMin = Math.min;
+
+ /**
+ * Gets the timestamp of the number of milliseconds that have elapsed since
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @since 2.4.0
+ * @category Date
+ * @returns {number} Returns the timestamp.
+ * @example
+ *
+ * _.defer(function(stamp) {
+ * console.log(_.now() - stamp);
+ * }, _.now());
+ * // => Logs the number of milliseconds it took for the deferred invocation.
+ */
+ var now = function() {
+ return root.Date.now();
+ };
+
+ /**
+ * Creates a debounced function that delays invoking `func` until after `wait`
+ * milliseconds have elapsed since the last time the debounced function was
+ * invoked. The debounced function comes with a `cancel` method to cancel
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
+ * Provide `options` to indicate whether `func` should be invoked on the
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
+ * with the last arguments provided to the debounced function. Subsequent
+ * calls to the debounced function return the result of the last `func`
+ * invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
+ * invoked on the trailing edge of the timeout only if the debounced function
+ * is invoked more than once during the `wait` timeout.
+ *
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+ *
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+ * for details over the differences between `_.debounce` and `_.throttle`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to debounce.
+ * @param {number} [wait=0] The number of milliseconds to delay.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=false]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {number} [options.maxWait]
+ * The maximum time `func` is allowed to be delayed before it's invoked.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
+ * @returns {Function} Returns the new debounced function.
+ * @example
+ *
+ * // Avoid costly calculations while the window size is in flux.
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+ *
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
+ * 'leading': true,
+ * 'trailing': false
+ * }));
+ *
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
+ * var source = new EventSource('/stream');
+ * jQuery(source).on('message', debounced);
+ *
+ * // Cancel the trailing debounced invocation.
+ * jQuery(window).on('popstate', debounced.cancel);
+ */
+ function debounce(func, wait, options) {
+ var lastArgs,
+ lastThis,
+ maxWait,
+ result,
+ timerId,
+ lastCallTime,
+ lastInvokeTime = 0,
+ leading = false,
+ maxing = false,
+ trailing = true;
+
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ wait = toNumber(wait) || 0;
+ if (isObject(options)) {
+ leading = !!options.leading;
+ maxing = 'maxWait' in options;
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
+ }
+
+ function invokeFunc(time) {
+ var args = lastArgs,
+ thisArg = lastThis;
+
+ lastArgs = lastThis = undefined;
+ lastInvokeTime = time;
+ result = func.apply(thisArg, args);
+ return result;
+ }
+
+ function leadingEdge(time) {
+ // Reset any `maxWait` timer.
+ lastInvokeTime = time;
+ // Start the timer for the trailing edge.
+ timerId = setTimeout(timerExpired, wait);
+ // Invoke the leading edge.
+ return leading ? invokeFunc(time) : result;
+ }
+
+ function remainingWait(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime,
+ result = wait - timeSinceLastCall;
+
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
+ }
+
+ function shouldInvoke(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime;
+
+ // Either this is the first call, activity has stopped and we're at the
+ // trailing edge, the system time has gone backwards and we're treating
+ // it as the trailing edge, or we've hit the `maxWait` limit.
+ return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
+ }
+
+ function timerExpired() {
+ var time = now();
+ if (shouldInvoke(time)) {
+ return trailingEdge(time);
+ }
+ // Restart the timer.
+ timerId = setTimeout(timerExpired, remainingWait(time));
+ }
+
+ function trailingEdge(time) {
+ timerId = undefined;
+
+ // Only invoke if we have `lastArgs` which means `func` has been
+ // debounced at least once.
+ if (trailing && lastArgs) {
+ return invokeFunc(time);
+ }
+ lastArgs = lastThis = undefined;
+ return result;
+ }
+
+ function cancel() {
+ if (timerId !== undefined) {
+ clearTimeout(timerId);
+ }
+ lastInvokeTime = 0;
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
+ }
+
+ function flush() {
+ return timerId === undefined ? result : trailingEdge(now());
+ }
+
+ function debounced() {
+ var time = now(),
+ isInvoking = shouldInvoke(time);
+
+ lastArgs = arguments;
+ lastThis = this;
+ lastCallTime = time;
+
+ if (isInvoking) {
+ if (timerId === undefined) {
+ return leadingEdge(lastCallTime);
+ }
+ if (maxing) {
+ // Handle invocations in a tight loop.
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
+ }
+ }
+ if (timerId === undefined) {
+ timerId = setTimeout(timerExpired, wait);
+ }
+ return result;
+ }
+ debounced.cancel = cancel;
+ debounced.flush = flush;
+ return debounced;
+ }
+
+ /**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+ function isObject(value) {
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+ }
+
+ /**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+ function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+ }
+
+ /**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+ function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
+ }
+
+ /**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3.2);
+ * // => 3.2
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3.2');
+ * // => 3.2
+ */
+ function toNumber(value) {
+ if (typeof value == 'number') {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject(value)) {
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
+ value = isObject(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, '');
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
+ }
+
+ module.exports = debounce;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35)))
+
+ /***/ }),
+ /* 490 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _splitObject3 = __webpack_require__(491);
+
+ var _splitObject4 = _interopRequireDefault(_splitObject3);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ // Timeline
+ var propTypes = {
+ /** 指定圆圈颜色 */
+ color: _propTypes2["default"].string,
+ dot: _propTypes2["default"].node,
+ pending: _propTypes2["default"].bool
+ };
+ var defaultProps = {
+ prefixCls: 'u-timeline',
+ color: 'primary',
+ last: false,
+ pending: false
+ };
+
+ var TimelineItem = function (_React$Component) {
+ _inherits(TimelineItem, _React$Component);
+
+ function TimelineItem() {
+ _classCallCheck(this, TimelineItem);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ TimelineItem.prototype.render = function render() {
+ var _classNames, _classNames2;
+
+ var _splitObject = (0, _splitObject4["default"])(this.props, ['prefixCls', 'color', 'last', 'children', 'pending', 'className', 'dot']),
+ _splitObject2 = _slicedToArray(_splitObject, 2),
+ _splitObject2$ = _splitObject2[0],
+ prefixCls = _splitObject2$.prefixCls,
+ color = _splitObject2$.color,
+ last = _splitObject2$.last,
+ children = _splitObject2$.children,
+ pending = _splitObject2$.pending,
+ className = _splitObject2$.className,
+ dot = _splitObject2$.dot,
+ restProps = _splitObject2[1];
+
+ var itemClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, prefixCls + '-item', true), _defineProperty(_classNames, prefixCls + '-item-last', last), _defineProperty(_classNames, prefixCls + '-item-pending', pending), _classNames), className);
+
+ var dotClassName = (0, _classnames2["default"])((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-item-head', true), _defineProperty(_classNames2, prefixCls + '-item-head-custom', dot), _defineProperty(_classNames2, prefixCls + '-item-head-' + color, true), _classNames2));
+
+ return _react2["default"].createElement(
+ 'li',
+ _extends({}, restProps, { className: itemClassName }),
+ _react2["default"].createElement('div', { className: prefixCls + '-item-tail' }),
+ _react2["default"].createElement(
+ 'div',
+ {
+ className: dotClassName,
+ style: { borderColor: /blue|red|green/.test(color) ? null : color }
+ },
+ dot
+ ),
+ _react2["default"].createElement(
+ 'div',
+ { className: prefixCls + '-item-content' },
+ children
+ )
+ );
+ };
+
+ return TimelineItem;
+ }(_react2["default"].Component);
+
+ TimelineItem.propTypes = propTypes;
+ TimelineItem.defaultProps = defaultProps;
+ exports["default"] = TimelineItem;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 491 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = splitObject;
+ function splitObject(obj, parts) {
+ var left = {};
+ var right = {};
+ Object.keys(obj).forEach(function (k) {
+ if (parts.indexOf(k) !== -1) {
+ left[k] = obj[k];
+ } else {
+ right[k] = obj[k];
+ }
+ });
+ return [left, right];
+ }
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 492 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Transfer = __webpack_require__(1420);
+
+ var _Transfer2 = _interopRequireDefault(_Transfer);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ exports["default"] = _Transfer2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 493 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _beeIcon = __webpack_require__(113);
+
+ var _beeIcon2 = _interopRequireDefault(_beeIcon);
+
+ var _beeFormControl = __webpack_require__(1423);
+
+ var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+ prefixCls: _propTypes2["default"].string,
+ placeholder: _propTypes2["default"].string,
+ onChange: _propTypes2["default"].func,
+ handleClear: _propTypes2["default"].func
+ };
+
+ var defaultProps = {
+ placeholder: ''
+ };
+
+ var Search = function (_React$Component) {
+ _inherits(Search, _React$Component);
+
+ function Search() {
+ var _temp, _this, _ret;
+
+ _classCallCheck(this, Search);
+
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleChange = function (e) {
+ var onChange = _this.props.onChange;
+ if (onChange) {
+ onChange(e);
+ }
+ }, _this.handleClear = function (e) {
+ e.preventDefault();
+
+ var handleClear = _this.props.handleClear;
+ if (handleClear) {
+ handleClear(e);
+ }
+ }, _temp), _possibleConstructorReturn(_this, _ret);
+ }
+
+ Search.prototype.render = function render() {
+ var _props = this.props,
+ placeholder = _props.placeholder,
+ value = _props.value,
+ prefixCls = _props.prefixCls;
+
+ var icon = value && value.length > 0 ? _react2["default"].createElement(
+ 'a',
+ { href: '#', className: prefixCls + '-action', onClick: this.handleClear },
+ _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-close-c' })
+ ) : _react2["default"].createElement(
+ 'span',
+ { className: prefixCls + '-action' },
+ _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-search' })
+ );
+
+ return _react2["default"].createElement(
+ 'div',
+ null,
+ _react2["default"].createElement(_beeFormControl2["default"], {
+ size: 'sm',
+ placeholder: placeholder,
+ className: prefixCls,
+ value: value,
+ ref: 'input',
+ onChange: this.handleChange
+ }),
+ icon
+ );
+ };
+
+ return Search;
+ }(_react2["default"].Component);
+
+ Search.propTypes = propTypes;
+ Search.defaultProps = defaultProps;
+
+ exports["default"] = Search;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 494 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule ReactComponentWithPureRenderMixin
+ */
+
+ var shallowEqual = __webpack_require__(72);
+
+ function shallowCompare(instance, nextProps, nextState) {
+ return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);
+ }
+
+ /**
+ * If your React component's render function is "pure", e.g. it will render the
+ * same result given the same props and state, provide this mixin for a
+ * considerable performance boost.
+ *
+ * Most React components have pure render functions.
+ *
+ * Example:
+ *
+ * var ReactComponentWithPureRenderMixin =
+ * require('ReactComponentWithPureRenderMixin');
+ * React.createClass({
+ * mixins: [ReactComponentWithPureRenderMixin],
+ *
+ * render: function() {
+ * return foo
;
+ * }
+ * });
+ *
+ * Note: This only checks shallow equality for props and state. If these contain
+ * complex data structures this mixin may have false-negatives for deeper
+ * differences. Only mixin to components which have simple props and state, or
+ * use `forceUpdate()` when you know deep data structures have changed.
+ *
+ * See https://facebook.github.io/react/docs/pure-render-mixin.html
+ */
+ var ReactComponentWithPureRenderMixin = {
+ shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {
+ return shallowCompare(this, nextProps, nextState);
+ }
+ };
+
+ module.exports = ReactComponentWithPureRenderMixin;
+
+ /***/ }),
+ /* 495 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _Checkbox = __webpack_require__(496);
+
+ var _Checkbox2 = _interopRequireDefault(_Checkbox);
+
+ var _CheckboxGroup = __webpack_require__(1432);
+
+ var _CheckboxGroup2 = _interopRequireDefault(_CheckboxGroup);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ _Checkbox2["default"].CheckboxGroup = _CheckboxGroup2["default"];
+ exports["default"] = _Checkbox2["default"];
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 496 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+
+ colors: _propTypes2["default"].oneOf(['', 'dark', 'success', 'info', 'warning', 'danger', 'primary']),
+
+ disabled: _propTypes2["default"].bool,
+
+ inverse: _propTypes2["default"].bool
+
+ };
+
+ var defaultProps = {
+ disabled: false,
+ inverse: false,
+ colors: 'primary',
+ clsPrefix: 'u-checkbox',
+ defaultChecked: false,
+ onClick: function onClick() {}
+ };
+ var clsPrefix = 'u-checkbox';
+
+ var Checkbox = function (_React$Component) {
+ _inherits(Checkbox, _React$Component);
+
+ function Checkbox(props) {
+ _classCallCheck(this, Checkbox);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ _this.state = {
+ checked: 'checked' in props ? props.checked : props.defaultChecked,
+ focused: false
+ };
+ _this.doubleClickFlag = null;
+ return _this;
+ }
+
+ Checkbox.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if ('checked' in nextProps) {
+ this.setState({
+ checked: nextProps.checked
+ });
+ }
+ };
+
+ Checkbox.prototype.render = function render() {
+ var _classes;
+
+ var _props = this.props,
+ disabled = _props.disabled,
+ inverse = _props.inverse,
+ colors = _props.colors,
+ size = _props.size,
+ className = _props.className,
+ indeterminate = _props.indeterminate,
+ onClick = _props.onClick,
+ children = _props.children,
+ checked = _props.checked,
+ clsPrefix = _props.clsPrefix,
+ onDoubleClick = _props.onDoubleClick,
+ onChange = _props.onChange,
+ others = _objectWithoutProperties(_props, ['disabled', 'inverse', 'colors', 'size', 'className', 'indeterminate', 'onClick', 'children', 'checked', 'clsPrefix', 'onDoubleClick', 'onChange']);
+
+ var input = _react2["default"].createElement('input', _extends({}, others, {
+ type: 'checkbox',
+ disabled: this.props.disabled,
+ onFocus: this.handleFocus,
+ onBlur: this.handleBlur
+ }));
+
+ var classes = (_classes = {}, _defineProperty(_classes, clsPrefix + '-focused', this.state.focused), _defineProperty(_classes, 'is-checked', this.state.checked), _defineProperty(_classes, 'disabled', disabled), _classes);
+
+ if (inverse) {
+ classes[clsPrefix + '-inverse'] = true;
+ }
+
+ if (colors) {
+ classes[clsPrefix + '-' + colors] = true;
+ }
+
+ if (size) {
+ classes[clsPrefix + '-' + size] = true;
+ }
+
+ if (!checked && indeterminate) {
+ classes[clsPrefix + '-indeterminate'] = true;
+ }
+
+ var classNames = (0, _classnames2["default"])(clsPrefix, classes);
+
+ return _react2["default"].createElement(
+ 'label',
+ {
+ className: (0, _classnames2["default"])(classNames, className),
+ onDoubleClick: this.handledbClick,
+ onClick: this.changeState },
+ input,
+ _react2["default"].createElement(
+ 'label',
+ { className: clsPrefix + '-label' },
+ children
+ )
+ );
+ };
+
+ return Checkbox;
+ }(_react2["default"].Component);
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.changeState = function (e) {
+ var props = _this2.props;
+ var checked = _this2.state.checked;
+
+ clearTimeout(_this2.doubleClickFlag);
+ if (props.onClick instanceof Function) {
+ props.onClick(e);
+ }
+ if (props.onDoubleClick instanceof Function) {
+ _this2.doubleClickFlag = setTimeout(function () {
+ //do function在此处写单击事件要执行的代码
+ _this2.change(props, checked);
+ }, 300);
+ } else {
+ _this2.change(props, checked);
+ }
+ e.stopPropagation();
+ e.preventDefault();
+ //执行延时
+ };
+
+ this.change = function (props, checked) {
+ if (props.disabled) {
+ return;
+ }
+ if (!('checked' in props)) {
+ _this2.setState({
+ checked: !checked
+ });
+ }
+
+ if (props.onChange instanceof Function) {
+ props.onChange(!checked);
+ }
+ };
+
+ this.handledbClick = function (e) {
+ var onDoubleClick = _this2.props.onDoubleClick;
+
+ clearTimeout(_this2.doubleClickFlag);
+ onDoubleClick && onDoubleClick(_this2.state.checked, e);
+ };
+
+ this.handleFocus = function (e) {
+ if (e.target && e.target.type == 'checkbox') {
+ _this2.setState({
+ focused: true
+ });
+ }
+ };
+
+ this.handleBlur = function (e) {
+ if (e.target && e.target.type == 'checkbox') {
+ _this2.setState({
+ focused: false
+ });
+ }
+ };
+ };
+
+ Checkbox.propTypes = propTypes;
+ Checkbox.defaultProps = defaultProps;
+
+ exports["default"] = Checkbox;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 497 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 498 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 499 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+ /**
+ * This source code is quoted from rc-slider.
+ * homepage: https://github.com/react-component/slider
+ */
+
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ var Track = function Track(props) {
+ //处于激活状态的track
+ var className = props.className,
+ included = props.included,
+ vertical = props.vertical,
+ offset = props.offset,
+ length = props.length,
+ style = props.style;
+
+
+ var positonStyle = vertical ? {
+ bottom: offset + '%',
+ height: length + '%'
+ } : {
+ left: offset + '%',
+ width: length + '%'
+ };
+
+ var elStyle = _extends({
+ visibility: included ? 'visible' : 'hidden'
+ }, style, positonStyle);
+ return _react2["default"].createElement('div', { className: className, style: elStyle });
+ };
+
+ exports["default"] = Track;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 500 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ exports["default"] = createSlider;
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _addEventListener = __webpack_require__(1478);
+
+ var _addEventListener2 = _interopRequireDefault(_addEventListener);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _warning = __webpack_require__(6);
+
+ var _warning2 = _interopRequireDefault(_warning);
+
+ var _Steps = __webpack_require__(1479);
+
+ var _Steps2 = _interopRequireDefault(_Steps);
+
+ var _Marks = __webpack_require__(1480);
+
+ var _Marks2 = _interopRequireDefault(_Marks);
+
+ var _Handle = __webpack_require__(196);
+
+ var _Handle2 = _interopRequireDefault(_Handle);
+
+ var _utils = __webpack_require__(197);
+
+ var utils = _interopRequireWildcard(_utils);
+
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
+ * This source code is quoted from rc-slider.
+ * homepage: https://github.com/react-component/slider
+ */
+
+
+ function noop() {}
+
+ function createSlider(Component) {
+ var _class, _temp;
+
+ return _temp = _class = function (_Component) {
+ _inherits(ComponentEnhancer, _Component);
+
+ function ComponentEnhancer(props) {
+ _classCallCheck(this, ComponentEnhancer);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.onMouseDown = function (e) {
+ //鼠标落下的操作
+ //指示当事件被触发时哪个鼠标按键被点击
+ //参数 描述
+ //0 规定鼠标左键。
+ //1 规定鼠标中键。
+ //2 规定鼠标右键。
+ if (e.button !== 0) {
+ return;
+ }
+ //1.getMousePosition:获得鼠标的位置 clientY或者pageX
+ //2.isEventFromHandle:是直接落下还是拖动handle
+ //3.getHandleCenterPosition:获得handle的中点位置
+ //4.onStart:在slider.jsx中
+ var isVertical = _this.props.vertical;
+ var position = utils.getMousePosition(isVertical, e);
+ if (!utils.isEventFromHandle(e, _this.handlesRefs)) {
+ _this.dragOffset = 0;
+ } else {
+ var handlePosition = utils.getHandleCenterPosition(isVertical, e.target); //handle的位置
+ _this.dragOffset = position - handlePosition; //鼠标落下的位置-handle的中间位置,这是偏差
+ position = handlePosition; //position是
+ }
+ _this.onStart(position);
+ _this.addDocumentMouseEvents();
+ utils.pauseEvent(e);
+ };
+
+ _this.onTouchStart = function (e) {
+ //touch事件
+ //event.touches,多点触碰时的位置数组,比如缩放手势必须要用两指的触摸点,就是一个数组
+ //多点触碰不算
+ if (utils.isNotTouchEvent(e)) return;
+ //1.getMousePosition:获得鼠标的位置 clientY或者pageX
+ //2.isEventFromHandle:是直接落下还是拖动handle
+ //3.getHandleCenterPosition:获得handle的中点位置
+ //4.onStart:在slider.jsx中
+ var isVertical = _this.props.vertical;
+ var position = utils.getTouchPosition(isVertical, e);
+ if (!utils.isEventFromHandle(e, _this.handlesRefs)) {
+ _this.dragOffset = 0;
+ } else {
+ var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);
+ _this.dragOffset = position - handlePosition;
+ position = handlePosition;
+ }
+ _this.onStart(position);
+ _this.addDocumentTouchEvents();
+ utils.pauseEvent(e);
+ };
+
+ _this.onMouseMove = function (e) {
+ if (!_this.sliderRef) {
+ _this.onEnd();
+ return;
+ }
+ var position = utils.getMousePosition(_this.props.vertical, e);
+ _this.onMove(e, position - _this.dragOffset);
+ };
+
+ _this.onTouchMove = function (e) {
+ //1.isNotTouchEvent:是不是touch事件
+ //2.getTouchPosition:return vertical ? e.touches[0].clientY : e.touches[0].pageX;
+ if (utils.isNotTouchEvent(e) || !_this.sliderRef) {
+ _this.onEnd();
+ return;
+ }
+ var position = utils.getTouchPosition(_this.props.vertical, e);
+ _this.onMove(e, position - _this.dragOffset);
+ };
+
+ _this.onKeyDown = function (e) {
+ //对应不同的keycode
+ if (_this.sliderRef && utils.isEventFromHandle(e, _this.handlesRefs)) {
+ _this.onKeyboard(e);
+ }
+ };
+
+ _this.onFocus = function (e) {
+ //Focus事件
+ //1.isEventFromHandle:是直接落下还是拖动handle
+ //2.getHandleCenterPosition:获得handle的中点位置
+ //3.onStart:在slider.jsx中
+ var isVertical = _this.props.vertical;
+
+ if (utils.isEventFromHandle(e, _this.handlesRefs)) {
+ var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);
+
+ _this.dragOffset = 0;
+ _this.onStart(handlePosition);
+ utils.pauseEvent(e);
+ }
+ };
+
+ _this.onBlur = function (e) {
+ _this.onEnd(e);
+ };
+
+ _this.saveSlider = function (slider) {
+ _this.sliderRef = slider;
+ };
+
+ if (process.env.NODE_ENV !== 'production') {
+ var step = props.step,
+ max = props.max,
+ min = props.min;
+
+ (0, _warning2["default"])(step && Math.floor(step) === step ? (max - min) % step === 0 : true, 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);
+ }
+ _this.handlesRefs = {};
+ return _this;
+ }
+ //这里是超级关键的:采用高阶组件的写法
+
+
+ ComponentEnhancer.prototype.componentWillUnmount = function componentWillUnmount() {
+ if (_Component.prototype.componentWillUnmount) _Component.prototype.componentWillUnmount.call(this);
+ this.removeDocumentEvents();
+ };
+
+ ComponentEnhancer.prototype.addDocumentTouchEvents = function addDocumentTouchEvents() {
+ // just work for Chrome iOS Safari and Android Browser
+ this.onTouchMoveListener = (0, _addEventListener2["default"])(document, 'touchmove', this.onTouchMove);
+ this.onTouchUpListener = (0, _addEventListener2["default"])(document, 'touchend', this.onEnd);
+ };
+
+ ComponentEnhancer.prototype.addDocumentMouseEvents = function addDocumentMouseEvents() {
+ this.onMouseMoveListener = (0, _addEventListener2["default"])(document, 'mousemove', this.onMouseMove);
+ this.onMouseUpListener = (0, _addEventListener2["default"])(document, 'mouseup', this.onEnd);
+ };
+
+ ComponentEnhancer.prototype.removeDocumentEvents = function removeDocumentEvents() {
+ /* eslint-disable no-unused-expressions */
+ this.onTouchMoveListener && this.onTouchMoveListener.remove();
+ this.onTouchUpListener && this.onTouchUpListener.remove();
+
+ this.onMouseMoveListener && this.onMouseMoveListener.remove();
+ this.onMouseUpListener && this.onMouseUpListener.remove();
+ /* eslint-enable no-unused-expressions */
+ };
+
+ //slider的开始位置
+
+
+ ComponentEnhancer.prototype.getSliderStart = function getSliderStart() {
+ var slider = this.sliderRef;
+ var rect = slider.getBoundingClientRect();
+
+ return this.props.vertical ? rect.top : rect.left;
+ };
+
+ //slider的高度
+
+
+ ComponentEnhancer.prototype.getSliderLength = function getSliderLength() {
+ var slider = this.sliderRef;
+ if (!slider) {
+ return 0;
+ }
+
+ var coords = slider.getBoundingClientRect();
+ return this.props.vertical ? coords.height : coords.width;
+ };
+
+ //计算实际的value值
+
+
+ ComponentEnhancer.prototype.calcValue = function calcValue(offset) {
+ var _props = this.props,
+ vertical = _props.vertical,
+ min = _props.min,
+ max = _props.max;
+
+ var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());
+ var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;
+ return value;
+ };
+ //这里才是最终的value
+
+
+ ComponentEnhancer.prototype.calcValueByPos = function calcValueByPos(position) {
+ //mouseposition 或者 handlePosition - slider的top(或者left);
+ var pixelOffset = position - this.getSliderStart();
+ //calValue():radio来算出真正的value
+ //trimAlignValue():在slider.jsx中1.ensureValueInRange 先算出是否可取 v 或者 min 或者 max 2.ensureValuePrecision:来获取真的前进数值closest数值
+ var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));
+ return nextValue;
+ };
+
+ ComponentEnhancer.prototype.calcOffset = function calcOffset(value) {
+ var _props2 = this.props,
+ min = _props2.min,
+ max = _props2.max;
+
+ var ratio = (value - min) / (max - min);
+ return ratio * 100;
+ };
+
+ ComponentEnhancer.prototype.saveHandle = function saveHandle(index, handle) {
+ this.handlesRefs[index] = handle;
+ };
+
+ ComponentEnhancer.prototype.render = function render() {
+ var _classNames;
+
+ var _props3 = this.props,
+ prefixCls = _props3.prefixCls,
+ className = _props3.className,
+ marks = _props3.marks,
+ dots = _props3.dots,
+ step = _props3.step,
+ included = _props3.included,
+ disabled = _props3.disabled,
+ vertical = _props3.vertical,
+ min = _props3.min,
+ max = _props3.max,
+ children = _props3.children,
+ style = _props3.style,
+ railStyle = _props3.railStyle,
+ dotStyle = _props3.dotStyle,
+ activeDotStyle = _props3.activeDotStyle;
+
+ var _Component$prototype$ = _Component.prototype.render.call(this),
+ tracks = _Component$prototype$.tracks,
+ handles = _Component$prototype$.handles;
+
+ var sliderClassName = (0, _classnames2["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, prefixCls + '-vertical', vertical), _defineProperty(_classNames, className, className), _classNames));
+ return _react2["default"].createElement(
+ 'div',
+ {
+ ref: this.saveSlider,
+ className: sliderClassName,
+ onTouchStart: disabled ? noop : this.onTouchStart,
+ onMouseDown: disabled ? noop : this.onMouseDown,
+ onKeyDown: disabled ? noop : this.onKeyDown,
+ onFocus: disabled ? noop : this.onFocus,
+ onBlur: disabled ? noop : this.onBlur,
+ style: style
+ },
+ _react2["default"].createElement('div', {
+ className: prefixCls + '-rail',
+ style: _extends({}, railStyle)
+ }),
+ tracks,
+ _react2["default"].createElement(_Steps2["default"], {
+ prefixCls: prefixCls,
+ vertical: vertical,
+ marks: marks,
+ dots: dots,
+ step: step,
+ included: included,
+ lowerBound: this.getLowerBound(),
+ upperBound: this.getUpperBound(),
+ max: max,
+ min: min,
+ dotStyle: dotStyle,
+ activeDotStyle: activeDotStyle
+ }),
+ handles,
+ _react2["default"].createElement(_Marks2["default"], {
+ className: prefixCls + '-mark',
+ vertical: vertical,
+ marks: marks,
+ included: included,
+ lowerBound: this.getLowerBound(),
+ upperBound: this.getUpperBound(),
+ max: max,
+ min: min
+ }),
+ children
+ );
+ };
+
+ return ComponentEnhancer;
+ }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = _extends({}, Component.propTypes, {
+ min: _propTypes2["default"].number,
+ max: _propTypes2["default"].number,
+ step: _propTypes2["default"].number,
+ marks: _propTypes2["default"].object,
+ included: _propTypes2["default"].bool,
+ className: _propTypes2["default"].string,
+ prefixCls: _propTypes2["default"].string,
+ disabled: _propTypes2["default"].bool,
+ children: _propTypes2["default"].any,
+ onBeforeChange: _propTypes2["default"].func,
+ onChange: _propTypes2["default"].func,
+ onAfterChange: _propTypes2["default"].func,
+ handle: _propTypes2["default"].func,
+ dots: _propTypes2["default"].bool,
+ vertical: _propTypes2["default"].bool,
+ style: _propTypes2["default"].object,
+ //minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate
+ //maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate
+ handleStyle: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].arrayOf(_propTypes2["default"].object)]),
+ trackStyle: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].arrayOf(_propTypes2["default"].object)]),
+ railStyle: _propTypes2["default"].object,
+ dotStyle: _propTypes2["default"].object,
+ activeDotStyle: _propTypes2["default"].object
+ }), _class.defaultProps = _extends({}, Component.defaultProps, {
+ prefixCls: 'u-slider',
+ className: '',
+ min: 0,
+ max: 100,
+ step: 1,
+ marks: {},
+ handle: function handle(_ref) {
+ var index = _ref.index,
+ restProps = _objectWithoutProperties(_ref, ['index']);
+
+ delete restProps.dragging;
+ return _react2["default"].createElement(_Handle2["default"], _extends({}, restProps, { key: index }));
+ },
+
+ onBeforeChange: noop,
+ onChange: noop,
+ onAfterChange: noop,
+ included: true,
+ disabled: false,
+ dots: false,
+ vertical: false,
+ trackStyle: [{}],
+ handleStyle: [{}],
+ railStyle: {},
+ dotStyle: {},
+ activeDotStyle: {}
+ }), _temp;
+ }
+ module.exports = exports['default'];
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 501 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+
+ /**
+ * @ignore
+ * some key-codes definition and utils from closure-library
+ * @author yiminghe@gmail.com
+ */
+
+ var KeyCode = {
+ /**
+ * MAC_ENTER
+ */
+ MAC_ENTER: 3,
+ /**
+ * BACKSPACE
+ */
+ BACKSPACE: 8,
+ /**
+ * TAB
+ */
+ TAB: 9,
+ /**
+ * NUMLOCK on FF/Safari Mac
+ */
+ NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
+ /**
+ * ENTER
+ */
+ ENTER: 13,
+ /**
+ * SHIFT
+ */
+ SHIFT: 16,
+ /**
+ * CTRL
+ */
+ CTRL: 17,
+ /**
+ * ALT
+ */
+ ALT: 18,
+ /**
+ * PAUSE
+ */
+ PAUSE: 19,
+ /**
+ * CAPS_LOCK
+ */
+ CAPS_LOCK: 20,
+ /**
+ * ESC
+ */
+ ESC: 27,
+ /**
+ * SPACE
+ */
+ SPACE: 32,
+ /**
+ * PAGE_UP
+ */
+ PAGE_UP: 33, // also NUM_NORTH_EAST
+ /**
+ * PAGE_DOWN
+ */
+ PAGE_DOWN: 34, // also NUM_SOUTH_EAST
+ /**
+ * END
+ */
+ END: 35, // also NUM_SOUTH_WEST
+ /**
+ * HOME
+ */
+ HOME: 36, // also NUM_NORTH_WEST
+ /**
+ * LEFT
+ */
+ LEFT: 37, // also NUM_WEST
+ /**
+ * UP
+ */
+ UP: 38, // also NUM_NORTH
+ /**
+ * RIGHT
+ */
+ RIGHT: 39, // also NUM_EAST
+ /**
+ * DOWN
+ */
+ DOWN: 40, // also NUM_SOUTH
+ /**
+ * PRINT_SCREEN
+ */
+ PRINT_SCREEN: 44,
+ /**
+ * INSERT
+ */
+ INSERT: 45, // also NUM_INSERT
+ /**
+ * DELETE
+ */
+ DELETE: 46, // also NUM_DELETE
+ /**
+ * ZERO
+ */
+ ZERO: 48,
+ /**
+ * ONE
+ */
+ ONE: 49,
+ /**
+ * TWO
+ */
+ TWO: 50,
+ /**
+ * THREE
+ */
+ THREE: 51,
+ /**
+ * FOUR
+ */
+ FOUR: 52,
+ /**
+ * FIVE
+ */
+ FIVE: 53,
+ /**
+ * SIX
+ */
+ SIX: 54,
+ /**
+ * SEVEN
+ */
+ SEVEN: 55,
+ /**
+ * EIGHT
+ */
+ EIGHT: 56,
+ /**
+ * NINE
+ */
+ NINE: 57,
+ /**
+ * QUESTION_MARK
+ */
+ QUESTION_MARK: 63, // needs localization
+ /**
+ * A
+ */
+ A: 65,
+ /**
+ * B
+ */
+ B: 66,
+ /**
+ * C
+ */
+ C: 67,
+ /**
+ * D
+ */
+ D: 68,
+ /**
+ * E
+ */
+ E: 69,
+ /**
+ * F
+ */
+ F: 70,
+ /**
+ * G
+ */
+ G: 71,
+ /**
+ * H
+ */
+ H: 72,
+ /**
+ * I
+ */
+ I: 73,
+ /**
+ * J
+ */
+ J: 74,
+ /**
+ * K
+ */
+ K: 75,
+ /**
+ * L
+ */
+ L: 76,
+ /**
+ * M
+ */
+ M: 77,
+ /**
+ * N
+ */
+ N: 78,
+ /**
+ * O
+ */
+ O: 79,
+ /**
+ * P
+ */
+ P: 80,
+ /**
+ * Q
+ */
+ Q: 81,
+ /**
+ * R
+ */
+ R: 82,
+ /**
+ * S
+ */
+ S: 83,
+ /**
+ * T
+ */
+ T: 84,
+ /**
+ * U
+ */
+ U: 85,
+ /**
+ * V
+ */
+ V: 86,
+ /**
+ * W
+ */
+ W: 87,
+ /**
+ * X
+ */
+ X: 88,
+ /**
+ * Y
+ */
+ Y: 89,
+ /**
+ * Z
+ */
+ Z: 90,
+ /**
+ * META
+ */
+ META: 91, // WIN_KEY_LEFT
+ /**
+ * WIN_KEY_RIGHT
+ */
+ WIN_KEY_RIGHT: 92,
+ /**
+ * CONTEXT_MENU
+ */
+ CONTEXT_MENU: 93,
+ /**
+ * NUM_ZERO
+ */
+ NUM_ZERO: 96,
+ /**
+ * NUM_ONE
+ */
+ NUM_ONE: 97,
+ /**
+ * NUM_TWO
+ */
+ NUM_TWO: 98,
+ /**
+ * NUM_THREE
+ */
+ NUM_THREE: 99,
+ /**
+ * NUM_FOUR
+ */
+ NUM_FOUR: 100,
+ /**
+ * NUM_FIVE
+ */
+ NUM_FIVE: 101,
+ /**
+ * NUM_SIX
+ */
+ NUM_SIX: 102,
+ /**
+ * NUM_SEVEN
+ */
+ NUM_SEVEN: 103,
+ /**
+ * NUM_EIGHT
+ */
+ NUM_EIGHT: 104,
+ /**
+ * NUM_NINE
+ */
+ NUM_NINE: 105,
+ /**
+ * NUM_MULTIPLY
+ */
+ NUM_MULTIPLY: 106,
+ /**
+ * NUM_PLUS
+ */
+ NUM_PLUS: 107,
+ /**
+ * NUM_MINUS
+ */
+ NUM_MINUS: 109,
+ /**
+ * NUM_PERIOD
+ */
+ NUM_PERIOD: 110,
+ /**
+ * NUM_DIVISION
+ */
+ NUM_DIVISION: 111,
+ /**
+ * F1
+ */
+ F1: 112,
+ /**
+ * F2
+ */
+ F2: 113,
+ /**
+ * F3
+ */
+ F3: 114,
+ /**
+ * F4
+ */
+ F4: 115,
+ /**
+ * F5
+ */
+ F5: 116,
+ /**
+ * F6
+ */
+ F6: 117,
+ /**
+ * F7
+ */
+ F7: 118,
+ /**
+ * F8
+ */
+ F8: 119,
+ /**
+ * F9
+ */
+ F9: 120,
+ /**
+ * F10
+ */
+ F10: 121,
+ /**
+ * F11
+ */
+ F11: 122,
+ /**
+ * F12
+ */
+ F12: 123,
+ /**
+ * NUMLOCK
+ */
+ NUMLOCK: 144,
+ /**
+ * SEMICOLON
+ */
+ SEMICOLON: 186, // needs localization
+ /**
+ * DASH
+ */
+ DASH: 189, // needs localization
+ /**
+ * EQUALS
+ */
+ EQUALS: 187, // needs localization
+ /**
+ * COMMA
+ */
+ COMMA: 188, // needs localization
+ /**
+ * PERIOD
+ */
+ PERIOD: 190, // needs localization
+ /**
+ * SLASH
+ */
+ SLASH: 191, // needs localization
+ /**
+ * APOSTROPHE
+ */
+ APOSTROPHE: 192, // needs localization
+ /**
+ * SINGLE_QUOTE
+ */
+ SINGLE_QUOTE: 222, // needs localization
+ /**
+ * OPEN_SQUARE_BRACKET
+ */
+ OPEN_SQUARE_BRACKET: 219, // needs localization
+ /**
+ * BACKSLASH
+ */
+ BACKSLASH: 220, // needs localization
+ /**
+ * CLOSE_SQUARE_BRACKET
+ */
+ CLOSE_SQUARE_BRACKET: 221, // needs localization
+ /**
+ * WIN_KEY
+ */
+ WIN_KEY: 224,
+ /**
+ * MAC_FF_META
+ */
+ MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
+ /**
+ * WIN_IME
+ */
+ WIN_IME: 229
+ };
+
+ /*
+ whether text and modified key is entered at the same time.
+ */
+ KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
+ var keyCode = e.keyCode;
+ if (e.altKey && !e.ctrlKey || e.metaKey ||
+ // Function keys don't generate text
+ keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
+ return false;
+ }
+
+ // The following keys are quite harmless, even in combination with
+ // CTRL, ALT or SHIFT.
+ switch (keyCode) {
+ case KeyCode.ALT:
+ case KeyCode.CAPS_LOCK:
+ case KeyCode.CONTEXT_MENU:
+ case KeyCode.CTRL:
+ case KeyCode.DOWN:
+ case KeyCode.END:
+ case KeyCode.ESC:
+ case KeyCode.HOME:
+ case KeyCode.INSERT:
+ case KeyCode.LEFT:
+ case KeyCode.MAC_FF_META:
+ case KeyCode.META:
+ case KeyCode.NUMLOCK:
+ case KeyCode.NUM_CENTER:
+ case KeyCode.PAGE_DOWN:
+ case KeyCode.PAGE_UP:
+ case KeyCode.PAUSE:
+ case KeyCode.PRINT_SCREEN:
+ case KeyCode.RIGHT:
+ case KeyCode.SHIFT:
+ case KeyCode.UP:
+ case KeyCode.WIN_KEY:
+ case KeyCode.WIN_KEY_RIGHT:
+ return false;
+ default:
+ return true;
+ }
+ };
+
+ /*
+ whether character is entered.
+ */
+ KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
+ if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
+ return true;
+ }
+
+ // Safari sends zero key code for non-latin characters.
+ if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
+ return true;
+ }
+
+ switch (keyCode) {
+ case KeyCode.SPACE:
+ case KeyCode.QUESTION_MARK:
+ case KeyCode.NUM_PLUS:
+ case KeyCode.NUM_MINUS:
+ case KeyCode.NUM_PERIOD:
+ case KeyCode.NUM_DIVISION:
+ case KeyCode.SEMICOLON:
+ case KeyCode.DASH:
+ case KeyCode.EQUALS:
+ case KeyCode.COMMA:
+ case KeyCode.PERIOD:
+ case KeyCode.SLASH:
+ case KeyCode.APOSTROPHE:
+ case KeyCode.SINGLE_QUOTE:
+ case KeyCode.OPEN_SQUARE_BRACKET:
+ case KeyCode.BACKSLASH:
+ case KeyCode.CLOSE_SQUARE_BRACKET:
+ return true;
+ default:
+ return false;
+ }
+ };
+
+ module.exports = KeyCode;
+
+ /***/ }),
+ /* 502 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _ownerDocument = __webpack_require__(114);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _getContainer = __webpack_require__(503);
+
+ var _getContainer2 = _interopRequireDefault(_getContainer);
+
+ var _tinperBeeCore = __webpack_require__(115);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var isReact16 = _reactDom2["default"].createPortal !== undefined;
+ var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
+
+ var propTypes = {
+ /**
+ * 存放子组件的容器
+ */
+ container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
+ };
+
+ var defaultProps = {};
+
+ /**
+ * Portal组件是将子组件渲染
+ */
+
+ var Portal = function (_Component) {
+ _inherits(Portal, _Component);
+
+ function Portal(props) {
+ _classCallCheck(this, Portal);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.getMountNode = _this.getMountNode.bind(_this);
+ _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
+ _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
+ _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
+ _this.renderOverlay = _this.renderOverlay.bind(_this);
+ _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
+
+ _this.overlayTarget = isReact16 ? document.createElement('div') : null;
+ return _this;
+ }
+
+ Portal.prototype.componentDidMount = function componentDidMount() {
+ if (isReact16) {
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ } else {
+ this.renderOverlay();
+ }
+
+ this.mounted = true;
+ };
+
+ Portal.prototype.componentDidUpdate = function componentDidUpdate() {
+ if (isReact16) {
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+ if (overlay === null) {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ } else {}
+ } else {
+ this.renderOverlay();
+ }
+ };
+ //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
+
+
+ Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.overlayTarget && nextProps.container !== this.props.container) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+
+ Portal.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+
+ this.mounted = false;
+ };
+
+ Portal.prototype.getMountNode = function getMountNode() {
+ return this.overlayTarget;
+ };
+
+ Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
+ if (!this.mounted) {
+ throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
+ }
+
+ if (this.overlayInstance) {
+ return _reactDom2["default"].findDOMNode(this.overlayInstance);
+ }
+
+ return null;
+ };
+
+ /**
+ * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
+ */
+
+ Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
+ if (!this.overlayTarget) {
+ this.overlayTarget = document.createElement('div');
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+ /**
+ * 将要添加的子元素从容器中移除,并把变量置为null
+ */
+
+
+ Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
+ if (this.overlayTarget) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.overlayTarget = null;
+ }
+ this.portalContainerNode = null;
+ };
+ /**
+ * 手动渲染_overlayTarget
+ */
+
+
+ Portal.prototype.renderOverlay = function renderOverlay() {
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ // Save reference for future access.
+ if (overlay !== null) {
+ this.mountOverlayTarget();
+ this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
+ } else {
+ // Unrender if the component is null for transitions to null
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ }
+ };
+ /**
+ * 销毁_overlayTarget组件。并把_overlayInstance置为null
+ */
+
+
+ Portal.prototype.unrenderOverlay = function unrenderOverlay() {
+ if (this.overlayTarget) {
+ !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
+ this.overlayInstance = null;
+ }
+ };
+
+ Portal.prototype.render = function render() {
+ if (!isReact16) {
+ return null;
+ }
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
+ };
+
+ return Portal;
+ }(_react.Component);
+
+ ;
+
+ Portal.propTypes = propTypes;
+ Portal.defaultProps = defaultProps;
+
+ exports["default"] = Portal;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 503 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = getContainer;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ /**
+ * 获取容器组件
+ * @param {[type]} container [description]
+ * @param {[type]} defaultContainer [description]
+ * @return {[type]} [description]
+ */
+ function getContainer(container, defaultContainer) {
+ container = typeof container === 'function' ? container() : container;
+ return _reactDom2["default"].findDOMNode(container) || defaultContainer;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 504 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 505 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (node, event, handler, capture) {
+ (0, _on2["default"])(node, event, handler, capture);
+
+ return {
+ remove: function remove() {
+ (0, _off2["default"])(node, event, handler, capture);
+ }
+ };
+ };
+
+ var _on = __webpack_require__(17);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _off = __webpack_require__(49);
+
+ var _off2 = _interopRequireDefault(_off);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 506 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
+ exports.default = createChainedFunction;
+
+ /***/ }),
+ /* 507 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = splitComponentProps;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function _objectEntries(obj) {
+ var entries = [];
+ var keys = Object.keys(obj);
+
+ for (var k = 0; k < keys.length; ++k) {
+ entries.push([keys[k], obj[keys[k]]]);
+ }return entries;
+ }
+
+ /**
+ * 分割要传入父元素和子元素的props
+ * @param {[object]} props 传入的属性
+ * @param {[reactElement]} Component 组件
+ * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
+ */
+ function splitComponentProps(props, Component) {
+ var componentPropTypes = Component.propTypes;
+
+ var parentProps = {};
+ var childProps = {};
+
+ _objectEntries(props).forEach(function (_ref) {
+ var propName = _ref[0],
+ propValue = _ref[1];
+
+ if (componentPropTypes[propName]) {
+ parentProps[propName] = propValue;
+ } else {
+ childProps[propName] = propValue;
+ }
+ });
+
+ return [parentProps, childProps];
+ }
+
+ /***/ }),
+ /* 508 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _BaseOverlay = __webpack_require__(1530);
+
+ var _BaseOverlay2 = _interopRequireDefault(_BaseOverlay);
+
+ var _tinperBeeCore = __webpack_require__(118);
+
+ var _Fade = __webpack_require__(1558);
+
+ var _Fade2 = _interopRequireDefault(_Fade);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = _extends({}, _BaseOverlay2["default"].propTypes, {
+
+ /**
+ * 是否显示
+ */
+ show: _propTypes2["default"].bool,
+ /**
+ * 是
+ */
+ rootClose: _propTypes2["default"].bool,
+ /**
+ * 当点击rootClose触发close时的回调函数
+ */
+ onHide: _propTypes2["default"].func,
+
+ /**
+ * 使用动画
+ */
+ animation: _propTypes2["default"].oneOfType([_tinperBeeCore.elementType, _propTypes2["default"].func]),
+
+ /**
+ * Callback fired before the Overlay transitions in
+ */
+ onEnter: _propTypes2["default"].func,
+
+ /**
+ * Callback fired as the Overlay begins to transition in
+ */
+ onEntering: _propTypes2["default"].func,
+
+ /**
+ * Callback fired after the Overlay finishes transitioning in
+ */
+ onEntered: _propTypes2["default"].func,
+
+ /**
+ * Callback fired right before the Overlay transitions out
+ */
+ onExit: _propTypes2["default"].func,
+
+ /**
+ * Callback fired as the Overlay begins to transition out
+ */
+ onExiting: _propTypes2["default"].func,
+
+ /**
+ * Callback fired after the Overlay finishes transitioning out
+ */
+ onExited: _propTypes2["default"].func,
+
+ /**
+ * Sets the direction of the Overlay.
+ */
+ placement: _propTypes2["default"].oneOf(["top", "right", "bottom", "left", "topLeft", "rightTop", "bottomLeft", "leftTop", "topRight", "rightBottom", "bottomRight", "leftBottom"]),
+
+ /**
+ * 当Overlay在placement方向放不下时的第二优先级方向
+ */
+ secondPlacement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left'])
+ });
+
+ var defaultProps = {
+ animation: _Fade2["default"],
+ rootClose: false,
+ show: false,
+ placement: 'right'
+ };
+
+ var Overlay = function (_Component) {
+ _inherits(Overlay, _Component);
+
+ function Overlay() {
+ _classCallCheck(this, Overlay);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ Overlay.prototype.render = function render() {
+ var _props = this.props,
+ animation = _props.animation,
+ children = _props.children,
+ props = _objectWithoutProperties(_props, ['animation', 'children']);
+
+ var transition = animation === true ? _Fade2["default"] : animation || null;
+
+ var child = void 0;
+
+ if (!transition) {
+ child = (0, _react.cloneElement)(children, {
+ className: (0, _classnames2["default"])(children.props.className, 'in')
+ });
+ } else {
+ child = children;
+ }
+
+ return _react2["default"].createElement(
+ _BaseOverlay2["default"],
+ _extends({}, props, {
+ transition: transition,
+ onHide: props.onHide
+ }),
+ child
+ );
+ };
+
+ return Overlay;
+ }(_react.Component);
+
+ Overlay.propTypes = propTypes;
+ Overlay.defaultProps = defaultProps;
+
+ exports["default"] = Overlay;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 509 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _ownerDocument = __webpack_require__(116);
+
+ var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
+
+ var _getContainer = __webpack_require__(510);
+
+ var _getContainer2 = _interopRequireDefault(_getContainer);
+
+ var _tinperBeeCore = __webpack_require__(118);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var isReact16 = _reactDom2["default"].createPortal !== undefined;
+ var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
+
+ var propTypes = {
+ /**
+ * 存放子组件的容器
+ */
+ container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
+ };
+
+ var defaultProps = {};
+
+ /**
+ * Portal组件是将子组件渲染
+ */
+
+ var Portal = function (_Component) {
+ _inherits(Portal, _Component);
+
+ function Portal(props) {
+ _classCallCheck(this, Portal);
+
+ var _this = _possibleConstructorReturn(this, _Component.call(this, props));
+
+ _this.getMountNode = _this.getMountNode.bind(_this);
+ _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
+ _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
+ _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
+ _this.renderOverlay = _this.renderOverlay.bind(_this);
+ _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
+
+ _this.overlayTarget = isReact16 ? document.createElement('div') : null;
+ return _this;
+ }
+
+ Portal.prototype.componentDidMount = function componentDidMount() {
+ if (isReact16) {
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ } else {
+ this.renderOverlay();
+ }
+
+ this.mounted = true;
+ };
+
+ Portal.prototype.componentDidUpdate = function componentDidUpdate() {
+ if (isReact16) {
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+ if (overlay === null) {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ } else {}
+ } else {
+ this.renderOverlay();
+ }
+ };
+ //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
+
+
+ Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.overlayTarget && nextProps.container !== this.props.container) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+
+ Portal.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+
+ this.mounted = false;
+ };
+
+ Portal.prototype.getMountNode = function getMountNode() {
+ return this.overlayTarget;
+ };
+
+ Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
+ if (!this.mounted) {
+ throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
+ }
+
+ if (this.overlayInstance) {
+ return _reactDom2["default"].findDOMNode(this.overlayInstance);
+ }
+
+ return null;
+ };
+
+ /**
+ * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
+ */
+
+ Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
+ if (!this.overlayTarget) {
+ this.overlayTarget = document.createElement('div');
+ this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
+ this.portalContainerNode.appendChild(this.overlayTarget);
+ }
+ };
+ /**
+ * 将要添加的子元素从容器中移除,并把变量置为null
+ */
+
+
+ Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
+ if (this.overlayTarget) {
+ this.portalContainerNode.removeChild(this.overlayTarget);
+ this.overlayTarget = null;
+ }
+ this.portalContainerNode = null;
+ };
+ /**
+ * 手动渲染_overlayTarget
+ */
+
+
+ Portal.prototype.renderOverlay = function renderOverlay() {
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ // Save reference for future access.
+ if (overlay !== null) {
+ this.mountOverlayTarget();
+ this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
+ } else {
+ // Unrender if the component is null for transitions to null
+ this.unrenderOverlay();
+ this.unmountOverlayTarget();
+ }
+ };
+ /**
+ * 销毁_overlayTarget组件。并把_overlayInstance置为null
+ */
+
+
+ Portal.prototype.unrenderOverlay = function unrenderOverlay() {
+ if (this.overlayTarget) {
+ !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
+ this.overlayInstance = null;
+ }
+ };
+
+ Portal.prototype.render = function render() {
+ if (!isReact16) {
+ return null;
+ }
+
+ var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
+
+ return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
+ };
+
+ return Portal;
+ }(_react.Component);
+
+ ;
+
+ Portal.propTypes = propTypes;
+ Portal.defaultProps = defaultProps;
+
+ exports["default"] = Portal;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 510 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = getContainer;
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ /**
+ * 获取容器组件
+ * @param {[type]} container [description]
+ * @param {[type]} defaultContainer [description]
+ * @return {[type]} [description]
+ */
+ function getContainer(container, defaultContainer) {
+ container = typeof container === 'function' ? container() : container;
+ return _reactDom2["default"].findDOMNode(container) || defaultContainer;
+ }
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 511 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = isRequiredForA11y;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function isRequiredForA11y(validator) {
+ return function validate(props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
+ args[_key - 5] = arguments[_key];
+ }
+
+ return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
+ };
+ }
+
+ /***/ }),
+ /* 512 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 513 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = offset;
+
+ var _contains = _interopRequireDefault(__webpack_require__(200));
+
+ var _isWindow = _interopRequireDefault(__webpack_require__(201));
+
+ var _ownerDocument = _interopRequireDefault(__webpack_require__(117));
+
+ function offset(node) {
+ var doc = (0, _ownerDocument.default)(node),
+ win = (0, _isWindow.default)(doc),
+ docElem = doc && doc.documentElement,
+ box = {
+ top: 0,
+ left: 0,
+ height: 0,
+ width: 0
+ };
+ if (!doc) return; // Make sure it's not a disconnected DOM node
+
+ if (!(0, _contains.default)(docElem, node)) return box;
+ if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect(); // IE8 getBoundingClientRect doesn't support width & height
+
+ box = {
+ top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),
+ left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),
+ width: (box.width == null ? node.offsetWidth : box.width) || 0,
+ height: (box.height == null ? node.offsetHeight : box.height) || 0
+ };
+ return box;
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 514 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = style;
+
+ var _camelizeStyle = _interopRequireDefault(__webpack_require__(515));
+
+ var _hyphenateStyle = _interopRequireDefault(__webpack_require__(1548));
+
+ var _getComputedStyle2 = _interopRequireDefault(__webpack_require__(1550));
+
+ var _removeStyle = _interopRequireDefault(__webpack_require__(1551));
+
+ var _properties = __webpack_require__(516);
+
+ var _isTransform = _interopRequireDefault(__webpack_require__(1552));
+
+ function style(node, property, value) {
+ var css = '';
+ var transforms = '';
+ var props = property;
+
+ if (typeof property === 'string') {
+ if (value === undefined) {
+ return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));
+ } else {
+ (props = {})[property] = value;
+ }
+ }
+
+ Object.keys(props).forEach(function (key) {
+ var value = props[key];
+
+ if (!value && value !== 0) {
+ (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));
+ } else if ((0, _isTransform.default)(key)) {
+ transforms += key + "(" + value + ") ";
+ } else {
+ css += (0, _hyphenateStyle.default)(key) + ": " + value + ";";
+ }
+ });
+
+ if (transforms) {
+ css += _properties.transform + ": " + transforms + ";";
+ }
+
+ node.style.cssText += ';' + css;
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 515 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = camelizeStyleName;
+
+ var _camelize = _interopRequireDefault(__webpack_require__(1547));
+
+ /**
+ * Copyright 2014-2015, Facebook, Inc.
+ * All rights reserved.
+ * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
+ */
+ var msPattern = /^-ms-/;
+
+ function camelizeStyleName(string) {
+ return (0, _camelize.default)(string.replace(msPattern, 'ms-'));
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 516 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;
+
+ var _inDOM = _interopRequireDefault(__webpack_require__(84));
+
+ var transform = 'transform';
+ exports.transform = transform;
+ var prefix, transitionEnd, animationEnd;
+ exports.animationEnd = animationEnd;
+ exports.transitionEnd = transitionEnd;
+ var transitionProperty, transitionDuration, transitionTiming, transitionDelay;
+ exports.transitionDelay = transitionDelay;
+ exports.transitionTiming = transitionTiming;
+ exports.transitionDuration = transitionDuration;
+ exports.transitionProperty = transitionProperty;
+ var animationName, animationDuration, animationTiming, animationDelay;
+ exports.animationDelay = animationDelay;
+ exports.animationTiming = animationTiming;
+ exports.animationDuration = animationDuration;
+ exports.animationName = animationName;
+
+ if (_inDOM.default) {
+ var _getTransitionPropert = getTransitionProperties();
+
+ prefix = _getTransitionPropert.prefix;
+ exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
+ exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;
+ exports.transform = transform = prefix + "-" + transform;
+ exports.transitionProperty = transitionProperty = prefix + "-transition-property";
+ exports.transitionDuration = transitionDuration = prefix + "-transition-duration";
+ exports.transitionDelay = transitionDelay = prefix + "-transition-delay";
+ exports.transitionTiming = transitionTiming = prefix + "-transition-timing-function";
+ exports.animationName = animationName = prefix + "-animation-name";
+ exports.animationDuration = animationDuration = prefix + "-animation-duration";
+ exports.animationTiming = animationTiming = prefix + "-animation-delay";
+ exports.animationDelay = animationDelay = prefix + "-animation-timing-function";
+ }
+
+ var _default = {
+ transform: transform,
+ end: transitionEnd,
+ property: transitionProperty,
+ timing: transitionTiming,
+ delay: transitionDelay,
+ duration: transitionDuration
+ };
+ exports.default = _default;
+
+ function getTransitionProperties() {
+ var style = document.createElement('div').style;
+ var vendorMap = {
+ O: function O(e) {
+ return "o" + e.toLowerCase();
+ },
+ Moz: function Moz(e) {
+ return e.toLowerCase();
+ },
+ Webkit: function Webkit(e) {
+ return "webkit" + e;
+ },
+ ms: function ms(e) {
+ return "MS" + e;
+ }
+ };
+ var vendors = Object.keys(vendorMap);
+ var transitionEnd, animationEnd;
+ var prefix = '';
+
+ for (var i = 0; i < vendors.length; i++) {
+ var vendor = vendors[i];
+
+ if (vendor + "TransitionProperty" in style) {
+ prefix = "-" + vendor.toLowerCase();
+ transitionEnd = vendorMap[vendor]('TransitionEnd');
+ animationEnd = vendorMap[vendor]('AnimationEnd');
+ break;
+ }
+ }
+
+ if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';
+ if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';
+ style = null;
+ return {
+ animationEnd: animationEnd,
+ transitionEnd: transitionEnd,
+ prefix: prefix
+ };
+ }
+
+ /***/ }),
+ /* 517 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = scrollTop;
+
+ var _isWindow = _interopRequireDefault(__webpack_require__(201));
+
+ function scrollTop(node, val) {
+ var win = (0, _isWindow.default)(node);
+ if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;
+ if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;
+ }
+
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 518 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ exports["default"] = function (node, event, handler, capture) {
+ (0, _on2["default"])(node, event, handler, capture);
+
+ return {
+ remove: function remove() {
+ (0, _off2["default"])(node, event, handler, capture);
+ }
+ };
+ };
+
+ var _on = __webpack_require__(519);
+
+ var _on2 = _interopRequireDefault(_on);
+
+ var _off = __webpack_require__(1556);
+
+ var _off2 = _interopRequireDefault(_off);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 519 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ var _interopRequireDefault = __webpack_require__(18);
+
+ exports.__esModule = true;
+ exports.default = void 0;
+
+ var _inDOM = _interopRequireDefault(__webpack_require__(84));
+
+ var on = function on() {};
+
+ if (_inDOM.default) {
+ on = function () {
+ if (document.addEventListener) return function (node, eventName, handler, capture) {
+ return node.addEventListener(eventName, handler, capture || false);
+ };else if (document.attachEvent) return function (node, eventName, handler) {
+ return node.attachEvent('on' + eventName, function (e) {
+ e = e || window.event;
+ e.target = e.target || e.srcElement;
+ e.currentTarget = node;
+ handler.call(node, e);
+ });
+ };
+ }();
+ }
+
+ var _default = on;
+ exports.default = _default;
+ module.exports = exports["default"];
+
+ /***/ }),
+ /* 520 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(12);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+ /***/ }),
+ /* 521 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var getClass = exports.getClass = function getClass(props, doing) {
+ var dropClass = props.dropClass,
+ dropOverClass = props.dropOverClass,
+ dragClass = props.dragClass,
+ dragingClass = props.dragingClass,
+ type = props.type;
+
+
+ var verticalObj = {
+ drop: {}, drag: {}
+ };
+ verticalObj.drop['u-drop ' + dropClass] = true;
+ verticalObj.drop['u-droping ' + dropOverClass] = doing;
+ verticalObj.drag['u-drag ' + dragClass] = true;
+ verticalObj.drag['u-draging ' + dragingClass] = doing;
+
+ var horizontalObj = {
+ drop: {}, drag: {}
+ };
+ horizontalObj.drop['u-drop u-drop-horizontal ' + dropClass] = true;
+ horizontalObj.drop['u-droping u-droping-horizontal ' + dropOverClass] = doing;
+ horizontalObj.drag['u-drag u-drag-horizontal ' + dragClass] = true;
+ horizontalObj.drag['u-draging u-draging-horizontal ' + dragingClass] = doing;
+
+ switch (type) {
+ case 'vertical':
+ return verticalObj;
+ break;
+ case 'horizontal':
+ return horizontalObj;
+ break;
+ case 'betweenVertical':
+ return verticalObj;
+ break;
+ case 'betweenHorizontal':
+ return horizontalObj;
+ break;
+ }
+ };
+
+ /***/ }),
+ /* 522 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Menu__ = __webpack_require__(1616);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SubMenu__ = __webpack_require__(524);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__MenuItem__ = __webpack_require__(1619);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__MenuItemGroup__ = __webpack_require__(1620);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Divider__ = __webpack_require__(1621);
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "SubMenu", function() { return __WEBPACK_IMPORTED_MODULE_1__SubMenu__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Item", function() { return __WEBPACK_IMPORTED_MODULE_2__MenuItem__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MenuItem", function() { return __WEBPACK_IMPORTED_MODULE_2__MenuItem__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MenuItemGroup", function() { return __WEBPACK_IMPORTED_MODULE_3__MenuItemGroup__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ItemGroup", function() { return __WEBPACK_IMPORTED_MODULE_3__MenuItemGroup__["a"]; });
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Divider", function() { return __WEBPACK_IMPORTED_MODULE_4__Divider__["a"]; });
+
+
+
+
+
+
+
+
+ /* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__Menu__["a" /* default */]);
+
+ /***/ }),
+ /* 523 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getActiveKey;
+ /* unused harmony export saveRef */
+ /* unused harmony export SubPopupMenu */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(23);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store__ = __webpack_require__(21);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_mini_store__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__ = __webpack_require__(43);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rc_util_es_createChainedFunction__ = __webpack_require__(256);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__util__ = __webpack_require__(64);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__DOMWrap__ = __webpack_require__(1617);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ function allDisabled(arr) {
+ if (!arr.length) {
+ return true;
+ }
+ return arr.every(function (c) {
+ return !!c.props.disabled;
+ });
+ }
+
+ function updateActiveKey(store, menuId, activeKey) {
+ var _extends2;
+
+ var state = store.getState();
+ store.setState({
+ activeKey: __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({}, state.activeKey, (_extends2 = {}, _extends2[menuId] = activeKey, _extends2))
+ });
+ }
+
+ function getEventKey(props) {
+ // when eventKey not available ,it's menu and return menu id '0-menu-'
+ return props.eventKey || '0-menu-';
+ }
+
+ function getActiveKey(props, originalActiveKey) {
+ var activeKey = originalActiveKey;
+ var children = props.children,
+ eventKey = props.eventKey;
+
+ if (activeKey) {
+ var found = void 0;
+ Object(__WEBPACK_IMPORTED_MODULE_11__util__["d" /* loopMenuItem */])(children, function (c, i) {
+ if (c && !c.props.disabled && activeKey === Object(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getKeyFromChildrenIndex */])(c, eventKey, i)) {
+ found = true;
+ }
+ });
+ if (found) {
+ return activeKey;
+ }
+ }
+ activeKey = null;
+ if (props.defaultActiveFirst) {
+ Object(__WEBPACK_IMPORTED_MODULE_11__util__["d" /* loopMenuItem */])(children, function (c, i) {
+ if (!activeKey && c && !c.props.disabled) {
+ activeKey = Object(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getKeyFromChildrenIndex */])(c, eventKey, i);
+ }
+ });
+ return activeKey;
+ }
+ return activeKey;
+ }
+
+ function saveRef(c) {
+ if (c) {
+ var index = this.instanceArray.indexOf(c);
+ if (index !== -1) {
+ // update component if it's already inside instanceArray
+ this.instanceArray[index] = c;
+ } else {
+ // add component if it's not in instanceArray yet;
+ this.instanceArray.push(c);
+ }
+ }
+ }
+
+ var SubPopupMenu = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SubPopupMenu, _React$Component);
+
+ function SubPopupMenu(props) {
+ var _extends3;
+
+ __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SubPopupMenu);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ props.store.setState({
+ activeKey: __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({}, props.store.getState().activeKey, (_extends3 = {}, _extends3[props.eventKey] = getActiveKey(props, props.activeKey), _extends3))
+ });
+
+ _this.instanceArray = [];
+ return _this;
+ }
+
+ SubPopupMenu.prototype.componentDidMount = function componentDidMount() {
+ // invoke customized ref to expose component to mixin
+ if (this.props.manualRef) {
+ this.props.manualRef(this);
+ }
+ };
+
+ SubPopupMenu.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return this.props.visible || nextProps.visible;
+ };
+
+ SubPopupMenu.prototype.componentDidUpdate = function componentDidUpdate() {
+ var props = this.props;
+ var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];
+ var activeKey = getActiveKey(props, originalActiveKey);
+ if (activeKey !== originalActiveKey) {
+ updateActiveKey(props.store, getEventKey(props), activeKey);
+ }
+ };
+
+ // all keyboard events callbacks run from here at first
+
+
+ SubPopupMenu.prototype.render = function render() {
+ var _this2 = this;
+
+ var props = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default()(this.props, []);
+
+ this.instanceArray = [];
+ var className = __WEBPACK_IMPORTED_MODULE_10_classnames___default()(props.prefixCls, props.className, props.prefixCls + '-' + props.mode);
+ var domProps = {
+ className: className,
+ // role could be 'select' and by default set to menu
+ role: props.role || 'menu'
+ };
+ if (props.id) {
+ domProps.id = props.id;
+ }
+ if (props.focusable) {
+ domProps.tabIndex = '0';
+ domProps.onKeyDown = this.onKeyDown;
+ }
+ var prefixCls = props.prefixCls,
+ eventKey = props.eventKey,
+ visible = props.visible,
+ level = props.level,
+ mode = props.mode,
+ overflowedIndicator = props.overflowedIndicator,
+ theme = props.theme;
+
+ __WEBPACK_IMPORTED_MODULE_11__util__["f" /* menuAllProps */].forEach(function (key) {
+ return delete props[key];
+ });
+
+ // Otherwise, the propagated click event will trigger another onClick
+ delete props.onClick;
+
+ return (
+ // ESLint is not smart enough to know that the type of `children` was checked.
+ /* eslint-disable */
+ __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_12__DOMWrap__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({}, props, {
+ prefixCls: prefixCls,
+ mode: mode,
+ tag: 'ul',
+ level: level,
+ theme: theme,
+ hiddenClassName: prefixCls + '-hidden',
+ visible: visible,
+ overflowedIndicator: overflowedIndicator
+ }, domProps),
+ __WEBPACK_IMPORTED_MODULE_5_react___default.a.Children.map(props.children, function (c, i) {
+ return _this2.renderMenuItem(c, i, eventKey || '0-menu-');
+ })
+ )
+ /*eslint-enable */
+
+ );
+ };
+
+ return SubPopupMenu;
+ }(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);
+ SubPopupMenu.propTypes = {
+ onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onOpenChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ openTransitionName: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ openAnimation: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object]),
+ openKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ visible: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,
+ parentMenu: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ eventKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ store: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.shape({
+ getState: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ setState: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func
+ }),
+
+ // adding in refactor
+ focusable: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ defaultActiveFirst: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ activeKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ defaultSelectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ defaultOpenKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),
+ level: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,
+ mode: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
+ triggerSubMenuAction: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['click', 'hover']),
+ inlineIndent: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string]),
+ manualRef: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),
+ expandIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])
+ };
+ SubPopupMenu.defaultProps = {
+ prefixCls: 'rc-menu',
+ className: '',
+ mode: 'vertical',
+ level: 1,
+ inlineIndent: 24,
+ visible: true,
+ focusable: true,
+ style: {},
+ manualRef: __WEBPACK_IMPORTED_MODULE_11__util__["g" /* noop */]
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.onKeyDown = function (e, callback) {
+ var keyCode = e.keyCode;
+ var handled = void 0;
+ _this3.getFlatInstanceArray().forEach(function (obj) {
+ if (obj && obj.props.active && obj.onKeyDown) {
+ handled = obj.onKeyDown(e);
+ }
+ });
+ if (handled) {
+ return 1;
+ }
+ var activeItem = null;
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].UP || keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].DOWN) {
+ activeItem = _this3.step(keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].UP ? -1 : 1);
+ }
+ if (activeItem) {
+ e.preventDefault();
+ updateActiveKey(_this3.props.store, getEventKey(_this3.props), activeItem.props.eventKey);
+
+ if (typeof callback === 'function') {
+ callback(activeItem);
+ }
+
+ return 1;
+ }
+ };
+
+ this.onItemHover = function (e) {
+ var key = e.key,
+ hover = e.hover;
+
+ updateActiveKey(_this3.props.store, getEventKey(_this3.props), hover ? key : null);
+ };
+
+ this.onDeselect = function (selectInfo) {
+ _this3.props.onDeselect(selectInfo);
+ };
+
+ this.onSelect = function (selectInfo) {
+ _this3.props.onSelect(selectInfo);
+ };
+
+ this.onClick = function (e) {
+ _this3.props.onClick(e);
+ };
+
+ this.onOpenChange = function (e) {
+ _this3.props.onOpenChange(e);
+ };
+
+ this.onDestroy = function (key) {
+ /* istanbul ignore next */
+ _this3.props.onDestroy(key);
+ };
+
+ this.getFlatInstanceArray = function () {
+ return _this3.instanceArray;
+ };
+
+ this.getOpenTransitionName = function () {
+ return _this3.props.openTransitionName;
+ };
+
+ this.step = function (direction) {
+ var children = _this3.getFlatInstanceArray();
+ var activeKey = _this3.props.store.getState().activeKey[getEventKey(_this3.props)];
+ var len = children.length;
+ if (!len) {
+ return null;
+ }
+ if (direction < 0) {
+ children = children.concat().reverse();
+ }
+ // find current activeIndex
+ var activeIndex = -1;
+ children.every(function (c, ci) {
+ if (c && c.props.eventKey === activeKey) {
+ activeIndex = ci;
+ return false;
+ }
+ return true;
+ });
+ if (!_this3.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {
+ return undefined;
+ }
+ var start = (activeIndex + 1) % len;
+ var i = start;
+
+ do {
+ var child = children[i];
+ if (!child || child.props.disabled) {
+ i = (i + 1) % len;
+ } else {
+ return child;
+ }
+ } while (i !== start);
+
+ return null;
+ };
+
+ this.renderCommonMenuItem = function (child, i, extraProps) {
+ var state = _this3.props.store.getState();
+ var props = _this3.props;
+ var key = Object(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getKeyFromChildrenIndex */])(child, props.eventKey, i);
+ var childProps = child.props;
+ var isActive = key === state.activeKey;
+ var newChildProps = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_extends___default()({
+ mode: childProps.mode || props.mode,
+ level: props.level,
+ inlineIndent: props.inlineIndent,
+ renderMenuItem: _this3.renderMenuItem,
+ rootPrefixCls: props.prefixCls,
+ index: i,
+ parentMenu: props.parentMenu,
+ // customized ref function, need to be invoked manually in child's componentDidMount
+ manualRef: childProps.disabled ? undefined : Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_createChainedFunction__["a" /* default */])(child.ref, saveRef.bind(_this3)),
+ eventKey: key,
+ active: !childProps.disabled && isActive,
+ multiple: props.multiple,
+ onClick: function onClick(e) {
+ (childProps.onClick || __WEBPACK_IMPORTED_MODULE_11__util__["g" /* noop */])(e);
+ _this3.onClick(e);
+ },
+ onItemHover: _this3.onItemHover,
+ openTransitionName: _this3.getOpenTransitionName(),
+ openAnimation: props.openAnimation,
+ subMenuOpenDelay: props.subMenuOpenDelay,
+ subMenuCloseDelay: props.subMenuCloseDelay,
+ forceSubMenuRender: props.forceSubMenuRender,
+ onOpenChange: _this3.onOpenChange,
+ onDeselect: _this3.onDeselect,
+ onSelect: _this3.onSelect,
+ builtinPlacements: props.builtinPlacements,
+ itemIcon: childProps.itemIcon || _this3.props.itemIcon,
+ expandIcon: childProps.expandIcon || _this3.props.expandIcon
+ }, extraProps);
+ if (props.mode === 'inline') {
+ newChildProps.triggerSubMenuAction = 'click';
+ }
+ return __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(child, newChildProps);
+ };
+
+ this.renderMenuItem = function (c, i, subMenuKey) {
+ /* istanbul ignore if */
+ if (!c) {
+ return null;
+ }
+ var state = _this3.props.store.getState();
+ var extraProps = {
+ openKeys: state.openKeys,
+ selectedKeys: state.selectedKeys,
+ triggerSubMenuAction: _this3.props.triggerSubMenuAction,
+ subMenuKey: subMenuKey
+ };
+ return _this3.renderCommonMenuItem(c, i, extraProps);
+ };
+ };
+
+ var connected = Object(__WEBPACK_IMPORTED_MODULE_7_mini_store__["connect"])()(SubPopupMenu);
+
+ /* harmony default export */ __webpack_exports__["a"] = (connected);
+
+ /***/ }),
+ /* 524 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* unused harmony export SubMenu */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom__ = __webpack_require__(3);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_dom__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rc_trigger__ = __webpack_require__(73);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__ = __webpack_require__(43);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_mini_store__ = __webpack_require__(21);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_mini_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_mini_store__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__SubPopupMenu__ = __webpack_require__(523);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__placements__ = __webpack_require__(1618);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_rc_animate__ = __webpack_require__(96);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__util__ = __webpack_require__(64);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var guid = 0;
+
+ var popupPlacementMap = {
+ horizontal: 'bottomLeft',
+ vertical: 'rightTop',
+ 'vertical-left': 'rightTop',
+ 'vertical-right': 'leftTop'
+ };
+
+ var updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {
+ var _extends2;
+
+ var menuId = Object(__WEBPACK_IMPORTED_MODULE_14__util__["b" /* getMenuIdFromSubMenuEventKey */])(eventKey);
+ var state = store.getState();
+ store.setState({
+ defaultActiveFirst: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, state.defaultActiveFirst, (_extends2 = {}, _extends2[menuId] = defaultActiveFirst, _extends2))
+ });
+ };
+
+ var SubMenu = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(SubMenu, _React$Component);
+
+ function SubMenu(props) {
+ __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, SubMenu);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ var store = props.store;
+ var eventKey = props.eventKey;
+ var defaultActiveFirst = store.getState().defaultActiveFirst;
+
+ _this.isRootMenu = false;
+
+ var value = false;
+
+ if (defaultActiveFirst) {
+ value = defaultActiveFirst[eventKey];
+ }
+
+ updateDefaultActiveFirst(store, eventKey, value);
+ return _this;
+ }
+
+ SubMenu.prototype.componentDidMount = function componentDidMount() {
+ this.componentDidUpdate();
+ };
+
+ SubMenu.prototype.componentDidUpdate = function componentDidUpdate() {
+ var _this2 = this;
+
+ var _props = this.props,
+ mode = _props.mode,
+ parentMenu = _props.parentMenu,
+ manualRef = _props.manualRef;
+
+ // invoke customized ref to expose component to mixin
+
+ if (manualRef) {
+ manualRef(this);
+ }
+
+ if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.props.isOpen) {
+ return;
+ }
+
+ this.minWidthTimeout = setTimeout(function () {
+ return _this2.adjustWidth();
+ }, 0);
+ };
+
+ SubMenu.prototype.componentWillUnmount = function componentWillUnmount() {
+ var _props2 = this.props,
+ onDestroy = _props2.onDestroy,
+ eventKey = _props2.eventKey;
+
+ if (onDestroy) {
+ onDestroy(eventKey);
+ }
+
+ /* istanbul ignore if */
+ if (this.minWidthTimeout) {
+ clearTimeout(this.minWidthTimeout);
+ }
+
+ /* istanbul ignore if */
+ if (this.mouseenterTimeout) {
+ clearTimeout(this.mouseenterTimeout);
+ }
+ };
+
+ SubMenu.prototype.renderChildren = function renderChildren(children) {
+ var props = this.props;
+ var baseProps = {
+ mode: props.mode === 'horizontal' ? 'vertical' : props.mode,
+ visible: this.props.isOpen,
+ level: props.level + 1,
+ inlineIndent: props.inlineIndent,
+ focusable: false,
+ onClick: this.onSubMenuClick,
+ onSelect: this.onSelect,
+ onDeselect: this.onDeselect,
+ onDestroy: this.onDestroy,
+ selectedKeys: props.selectedKeys,
+ eventKey: props.eventKey + '-menu-',
+ openKeys: props.openKeys,
+ openTransitionName: props.openTransitionName,
+ openAnimation: props.openAnimation,
+ onOpenChange: this.onOpenChange,
+ subMenuOpenDelay: props.subMenuOpenDelay,
+ parentMenu: this,
+ subMenuCloseDelay: props.subMenuCloseDelay,
+ forceSubMenuRender: props.forceSubMenuRender,
+ triggerSubMenuAction: props.triggerSubMenuAction,
+ builtinPlacements: props.builtinPlacements,
+ defaultActiveFirst: props.store.getState().defaultActiveFirst[Object(__WEBPACK_IMPORTED_MODULE_14__util__["b" /* getMenuIdFromSubMenuEventKey */])(props.eventKey)],
+ multiple: props.multiple,
+ prefixCls: props.rootPrefixCls,
+ id: this._menuId,
+ manualRef: this.saveMenuInstance,
+ itemIcon: props.itemIcon,
+ expandIcon: props.expandIcon
+ };
+
+ var haveRendered = this.haveRendered;
+ this.haveRendered = true;
+
+ this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;
+ // never rendered not planning to, don't render
+ if (!this.haveOpened) {
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div', null);
+ }
+
+ // don't show transition on first rendering (no animation for opened menu)
+ // show appear transition if it's not visible (not sure why)
+ // show appear transition if it's not inline mode
+ var transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';
+
+ baseProps.className = ' ' + baseProps.prefixCls + '-sub';
+ var animProps = {};
+
+ if (baseProps.openTransitionName) {
+ animProps.transitionName = baseProps.openTransitionName;
+ } else if (typeof baseProps.openAnimation === 'object') {
+ animProps.animation = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, baseProps.openAnimation);
+ if (!transitionAppear) {
+ delete animProps.animation.appear;
+ }
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_13_rc_animate__["default"],
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, animProps, {
+ showProp: 'visible',
+ component: '',
+ transitionAppear: transitionAppear
+ }),
+ __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_11__SubPopupMenu__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, baseProps, { id: this._menuId }),
+ children
+ )
+ );
+ };
+
+ SubMenu.prototype.render = function render() {
+ var _classNames;
+
+ var props = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.props);
+ var isOpen = props.isOpen;
+ var prefixCls = this.getPrefixCls();
+ var isInlineMode = props.mode === 'inline';
+ var className = __WEBPACK_IMPORTED_MODULE_9_classnames___default()(prefixCls, prefixCls + '-' + props.mode, (_classNames = {}, _classNames[props.className] = !!props.className, _classNames[this.getOpenClassName()] = isOpen, _classNames[this.getActiveClassName()] = props.active || isOpen && !isInlineMode, _classNames[this.getDisabledClassName()] = props.disabled, _classNames[this.getSelectedClassName()] = this.isChildrenSelected(), _classNames));
+
+ if (!this._menuId) {
+ if (props.eventKey) {
+ this._menuId = props.eventKey + '$Menu';
+ } else {
+ this._menuId = '$__$' + ++guid + '$Menu';
+ }
+ }
+
+ var mouseEvents = {};
+ var titleClickEvents = {};
+ var titleMouseEvents = {};
+ if (!props.disabled) {
+ mouseEvents = {
+ onMouseLeave: this.onMouseLeave,
+ onMouseEnter: this.onMouseEnter
+ };
+
+ // only works in title, not outer li
+ titleClickEvents = {
+ onClick: this.onTitleClick
+ };
+ titleMouseEvents = {
+ onMouseEnter: this.onTitleMouseEnter,
+ onMouseLeave: this.onTitleMouseLeave
+ };
+ }
+
+ var style = {};
+ if (isInlineMode) {
+ style.paddingLeft = props.inlineIndent * props.level;
+ }
+
+ var ariaOwns = {};
+ // only set aria-owns when menu is open
+ // otherwise it would be an invalid aria-owns value
+ // since corresponding node cannot be found
+ if (this.props.isOpen) {
+ ariaOwns = {
+ 'aria-owns': this._menuId
+ };
+ }
+
+ // expand custom icon should NOT be displayed in menu with horizontal mode.
+ var icon = null;
+ if (props.mode !== 'horizontal') {
+ icon = this.props.expandIcon; // ReactNode
+ if (typeof this.props.expandIcon === 'function') {
+ icon = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(this.props.expandIcon, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.props));
+ }
+ }
+
+ var title = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ 'div',
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({
+ ref: this.saveSubMenuTitle,
+ style: style,
+ className: prefixCls + '-title'
+ }, titleMouseEvents, titleClickEvents, {
+ 'aria-expanded': isOpen
+ }, ariaOwns, {
+ 'aria-haspopup': 'true',
+ title: typeof props.title === 'string' ? props.title : undefined
+ }),
+ props.title,
+ icon || __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('i', { className: prefixCls + '-arrow' })
+ );
+ var children = this.renderChildren(props.children);
+
+ var getPopupContainer = props.parentMenu.isRootMenu ? props.parentMenu.props.getPopupContainer : function (triggerNode) {
+ return triggerNode.parentNode;
+ };
+ var popupPlacement = popupPlacementMap[props.mode];
+ var popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};
+ var popupClassName = props.mode === 'inline' ? '' : props.popupClassName;
+ var disabled = props.disabled,
+ triggerSubMenuAction = props.triggerSubMenuAction,
+ subMenuOpenDelay = props.subMenuOpenDelay,
+ forceSubMenuRender = props.forceSubMenuRender,
+ subMenuCloseDelay = props.subMenuCloseDelay,
+ builtinPlacements = props.builtinPlacements;
+
+ __WEBPACK_IMPORTED_MODULE_14__util__["f" /* menuAllProps */].forEach(function (key) {
+ return delete props[key];
+ });
+ // Set onClick to null, to ignore propagated onClick event
+ delete props.onClick;
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ 'li',
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, props, mouseEvents, {
+ className: className,
+ role: 'menuitem'
+ }),
+ isInlineMode && title,
+ isInlineMode && children,
+ !isInlineMode && __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+ __WEBPACK_IMPORTED_MODULE_7_rc_trigger__["default"],
+ {
+ prefixCls: prefixCls,
+ popupClassName: prefixCls + '-popup ' + popupClassName,
+ getPopupContainer: getPopupContainer,
+ builtinPlacements: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, __WEBPACK_IMPORTED_MODULE_12__placements__["a" /* default */], builtinPlacements),
+ popupPlacement: popupPlacement,
+ popupVisible: isOpen,
+ popupAlign: popupAlign,
+ popup: children,
+ action: disabled ? [] : [triggerSubMenuAction],
+ mouseEnterDelay: subMenuOpenDelay,
+ mouseLeaveDelay: subMenuCloseDelay,
+ onPopupVisibleChange: this.onPopupVisibleChange,
+ forceRender: forceSubMenuRender
+ },
+ title
+ )
+ );
+ };
+
+ return SubMenu;
+ }(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);
+
+ SubMenu.propTypes = {
+ parentMenu: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ title: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node,
+ children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,
+ selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,
+ openKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,
+ onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onOpenChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ rootPrefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ eventKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ active: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool, // TODO: remove
+ onItemHover: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ triggerSubMenuAction: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,
+ onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onMouseEnter: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onMouseLeave: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onTitleMouseEnter: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onTitleMouseLeave: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ onTitleClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ popupOffset: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,
+ isOpen: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,
+ store: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,
+ mode: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
+ manualRef: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,
+ itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),
+ expandIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])
+ };
+ SubMenu.defaultProps = {
+ onMouseEnter: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onMouseLeave: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onTitleMouseEnter: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onTitleMouseLeave: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ onTitleClick: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ manualRef: __WEBPACK_IMPORTED_MODULE_14__util__["g" /* noop */],
+ mode: 'vertical',
+ title: ''
+ };
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this3 = this;
+
+ this.onDestroy = function (key) {
+ _this3.props.onDestroy(key);
+ };
+
+ this.onKeyDown = function (e) {
+ var keyCode = e.keyCode;
+ var menu = _this3.menuInstance;
+ var _props3 = _this3.props,
+ isOpen = _props3.isOpen,
+ store = _props3.store;
+
+
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].ENTER) {
+ _this3.onTitleClick(e);
+ updateDefaultActiveFirst(store, _this3.props.eventKey, true);
+ return true;
+ }
+
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].RIGHT) {
+ if (isOpen) {
+ menu.onKeyDown(e);
+ } else {
+ _this3.triggerOpenChange(true);
+ // need to update current menu's defaultActiveFirst value
+ updateDefaultActiveFirst(store, _this3.props.eventKey, true);
+ }
+ return true;
+ }
+ if (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].LEFT) {
+ var handled = void 0;
+ if (isOpen) {
+ handled = menu.onKeyDown(e);
+ } else {
+ return undefined;
+ }
+ if (!handled) {
+ _this3.triggerOpenChange(false);
+ handled = true;
+ }
+ return handled;
+ }
+
+ if (isOpen && (keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].UP || keyCode === __WEBPACK_IMPORTED_MODULE_8_rc_util_es_KeyCode__["a" /* default */].DOWN)) {
+ return menu.onKeyDown(e);
+ }
+ };
+
+ this.onOpenChange = function (e) {
+ _this3.props.onOpenChange(e);
+ };
+
+ this.onPopupVisibleChange = function (visible) {
+ _this3.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');
+ };
+
+ this.onMouseEnter = function (e) {
+ var _props4 = _this3.props,
+ key = _props4.eventKey,
+ onMouseEnter = _props4.onMouseEnter,
+ store = _props4.store;
+
+ updateDefaultActiveFirst(store, _this3.props.eventKey, false);
+ onMouseEnter({
+ key: key,
+ domEvent: e
+ });
+ };
+
+ this.onMouseLeave = function (e) {
+ var _props5 = _this3.props,
+ parentMenu = _props5.parentMenu,
+ eventKey = _props5.eventKey,
+ onMouseLeave = _props5.onMouseLeave;
+
+ parentMenu.subMenuInstance = _this3;
+ onMouseLeave({
+ key: eventKey,
+ domEvent: e
+ });
+ };
+
+ this.onTitleMouseEnter = function (domEvent) {
+ var _props6 = _this3.props,
+ key = _props6.eventKey,
+ onItemHover = _props6.onItemHover,
+ onTitleMouseEnter = _props6.onTitleMouseEnter;
+
+ onItemHover({
+ key: key,
+ hover: true
+ });
+ onTitleMouseEnter({
+ key: key,
+ domEvent: domEvent
+ });
+ };
+
+ this.onTitleMouseLeave = function (e) {
+ var _props7 = _this3.props,
+ parentMenu = _props7.parentMenu,
+ eventKey = _props7.eventKey,
+ onItemHover = _props7.onItemHover,
+ onTitleMouseLeave = _props7.onTitleMouseLeave;
+
+ parentMenu.subMenuInstance = _this3;
+ onItemHover({
+ key: eventKey,
+ hover: false
+ });
+ onTitleMouseLeave({
+ key: eventKey,
+ domEvent: e
+ });
+ };
+
+ this.onTitleClick = function (e) {
+ var props = _this3.props;
+
+ props.onTitleClick({
+ key: props.eventKey,
+ domEvent: e
+ });
+ if (props.triggerSubMenuAction === 'hover') {
+ return;
+ }
+ _this3.triggerOpenChange(!props.isOpen, 'click');
+ updateDefaultActiveFirst(props.store, _this3.props.eventKey, false);
+ };
+
+ this.onSubMenuClick = function (info) {
+ // in the case of overflowed submenu
+ // onClick is not copied over
+ if (typeof _this3.props.onClick === 'function') {
+ _this3.props.onClick(_this3.addKeyPath(info));
+ }
+ };
+
+ this.onSelect = function (info) {
+ _this3.props.onSelect(info);
+ };
+
+ this.onDeselect = function (info) {
+ _this3.props.onDeselect(info);
+ };
+
+ this.getPrefixCls = function () {
+ return _this3.props.rootPrefixCls + '-submenu';
+ };
+
+ this.getActiveClassName = function () {
+ return _this3.getPrefixCls() + '-active';
+ };
+
+ this.getDisabledClassName = function () {
+ return _this3.getPrefixCls() + '-disabled';
+ };
+
+ this.getSelectedClassName = function () {
+ return _this3.getPrefixCls() + '-selected';
+ };
+
+ this.getOpenClassName = function () {
+ return _this3.props.rootPrefixCls + '-submenu-open';
+ };
+
+ this.saveMenuInstance = function (c) {
+ // children menu instance
+ _this3.menuInstance = c;
+ };
+
+ this.addKeyPath = function (info) {
+ return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, info, {
+ keyPath: (info.keyPath || []).concat(_this3.props.eventKey)
+ });
+ };
+
+ this.triggerOpenChange = function (open, type) {
+ var key = _this3.props.eventKey;
+ var openChange = function openChange() {
+ _this3.onOpenChange({
+ key: key,
+ item: _this3,
+ trigger: type,
+ open: open
+ });
+ };
+ if (type === 'mouseenter') {
+ // make sure mouseenter happen after other menu item's mouseleave
+ _this3.mouseenterTimeout = setTimeout(function () {
+ openChange();
+ }, 0);
+ } else {
+ openChange();
+ }
+ };
+
+ this.isChildrenSelected = function () {
+ var ret = { find: false };
+ Object(__WEBPACK_IMPORTED_MODULE_14__util__["e" /* loopMenuItemRecursively */])(_this3.props.children, _this3.props.selectedKeys, ret);
+ return ret.find;
+ };
+
+ this.isOpen = function () {
+ return _this3.props.openKeys.indexOf(_this3.props.eventKey) !== -1;
+ };
+
+ this.adjustWidth = function () {
+ /* istanbul ignore if */
+ if (!_this3.subMenuTitle || !_this3.menuInstance) {
+ return;
+ }
+ var popupMenu = __WEBPACK_IMPORTED_MODULE_5_react_dom___default.a.findDOMNode(_this3.menuInstance);
+ if (popupMenu.offsetWidth >= _this3.subMenuTitle.offsetWidth) {
+ return;
+ }
+
+ /* istanbul ignore next */
+ popupMenu.style.minWidth = _this3.subMenuTitle.offsetWidth + 'px';
+ };
+
+ this.saveSubMenuTitle = function (subMenuTitle) {
+ _this3.subMenuTitle = subMenuTitle;
+ };
+ };
+
+ var connected = Object(__WEBPACK_IMPORTED_MODULE_10_mini_store__["connect"])(function (_ref, _ref2) {
+ var openKeys = _ref.openKeys,
+ activeKey = _ref.activeKey,
+ selectedKeys = _ref.selectedKeys;
+ var eventKey = _ref2.eventKey,
+ subMenuKey = _ref2.subMenuKey;
+ return {
+ isOpen: openKeys.indexOf(eventKey) > -1,
+ active: activeKey[subMenuKey] === eventKey,
+ selectedKeys: selectedKeys
+ };
+ })(SubMenu);
+
+ connected.isSubMenu = true;
+
+ /* harmony default export */ __webpack_exports__["a"] = (connected);
+
+ /***/ }),
+ /* 525 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.SelectPropTypes = undefined;
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function valueType(props, propName, componentName) {
+ var basicType = _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]);
+
+ var labelInValueShape = _propTypes2["default"].shape({
+ key: basicType.isRequired,
+ label: _propTypes2["default"].node
+ });
+ if (props.labelInValue) {
+ var validate = _propTypes2["default"].oneOfType([_propTypes2["default"].arrayOf(labelInValueShape), labelInValueShape]);
+ var error = validate.apply(undefined, arguments);
+ if (error) {
+ return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`, ' + ('when you set `labelInValue` to `true`, `' + propName + '` should in ') + 'shape of `{ key: string | number, label?: ReactNode }`.');
+ }
+ } else if ((props.mode === 'multiple' || props.mode === 'tags' || props.multiple || props.tags) && props[propName] === '') {
+ return new Error('Invalid prop `' + propName + '` of type `string` supplied to `' + componentName + '`, ' + 'expected `array` when `multiple` or `tags` is `true`.');
+ } else {
+ var _validate = _propTypes2["default"].oneOfType([_propTypes2["default"].arrayOf(basicType), basicType]);
+ return _validate.apply(undefined, arguments);
+ }
+ } /**
+ * This source code is quoted from rc-select.
+ * homepage: https://github.com/react-component/select
+ */
+ var SelectPropTypes = exports.SelectPropTypes = {
+ id: _propTypes2["default"].string,
+ defaultActiveFirstOption: _propTypes2["default"].bool,
+ multiple: _propTypes2["default"].bool,
+ filterOption: _propTypes2["default"].any,
+ children: _propTypes2["default"].any,
+ showSearch: _propTypes2["default"].bool,
+ disabled: _propTypes2["default"].bool,
+ allowClear: _propTypes2["default"].bool,
+ showArrow: _propTypes2["default"].bool,
+ tags: _propTypes2["default"].bool,
+ prefixCls: _propTypes2["default"].string,
+ className: _propTypes2["default"].string,
+ transitionName: _propTypes2["default"].string,
+ optionLabelProp: _propTypes2["default"].string,
+ optionFilterProp: _propTypes2["default"].string,
+ animation: _propTypes2["default"].string,
+ choiceTransitionName: _propTypes2["default"].string,
+ open: _propTypes2["default"].bool,
+ defaultOpen: _propTypes2["default"].bool,
+ onChange: _propTypes2["default"].func,
+ onBlur: _propTypes2["default"].func,
+ onFocus: _propTypes2["default"].func,
+ onSelect: _propTypes2["default"].func,
+ onSearch: _propTypes2["default"].func,
+ onPopupScroll: _propTypes2["default"].func,
+ onMouseEnter: _propTypes2["default"].func,
+ onMouseLeave: _propTypes2["default"].func,
+ onInputKeyDown: _propTypes2["default"].func,
+ placeholder: _propTypes2["default"].any,
+ onDeselect: _propTypes2["default"].func,
+ labelInValue: _propTypes2["default"].bool,
+ value: valueType,
+ defaultValue: valueType,
+ dropdownStyle: _propTypes2["default"].object,
+ maxTagTextLength: _propTypes2["default"].number,
+ maxTagCount: _propTypes2["default"].number,
+ maxTagPlaceholder: _propTypes2["default"].oneOfType([_propTypes2["default"].node, _propTypes2["default"].func]),
+ tokenSeparators: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ getInputElement: _propTypes2["default"].func,
+ showAction: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
+ clearIcon: _propTypes2["default"].node,
+ inputIcon: _propTypes2["default"].node,
+ removeIcon: _propTypes2["default"].node,
+ menuItemSelectedIcon: _propTypes2["default"].oneOfType([_propTypes2["default"].func, _propTypes2["default"].node])
+ };
+
+ /***/ }),
+ /* 526 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var OptGroup = function (_React$Component) {
+ _inherits(OptGroup, _React$Component);
+
+ function OptGroup() {
+ _classCallCheck(this, OptGroup);
+
+ return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
+ }
+
+ return OptGroup;
+ }(_react2["default"].Component);
+
+ OptGroup.isSelectOptGroup = true;
+ exports["default"] = OptGroup;
+ module.exports = exports['default'];
+
+ /***/ }),
+ /* 527 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ exports.__esModule = true;
+ exports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;
+
+ var PropTypes = _interopRequireWildcard(__webpack_require__(1));
+
+ var _react = _interopRequireDefault(__webpack_require__(0));
+
+ var _reactDom = _interopRequireDefault(__webpack_require__(3));
+
+ var _reactLifecyclesCompat = __webpack_require__(14);
+
+ var _PropTypes = __webpack_require__(528);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
+
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
+
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
+
+ var UNMOUNTED = 'unmounted';
+ exports.UNMOUNTED = UNMOUNTED;
+ var EXITED = 'exited';
+ exports.EXITED = EXITED;
+ var ENTERING = 'entering';
+ exports.ENTERING = ENTERING;
+ var ENTERED = 'entered';
+ exports.ENTERED = ENTERED;
+ var EXITING = 'exiting';
+ /**
+ * The Transition component lets you describe a transition from one component
+ * state to another _over time_ with a simple declarative API. Most commonly
+ * it's used to animate the mounting and unmounting of a component, but can also
+ * be used to describe in-place transition states as well.
+ *
+ * ---
+ *
+ * **Note**: `Transition` is a platform-agnostic base component. If you're using
+ * transitions in CSS, you'll probably want to use
+ * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)
+ * instead. It inherits all the features of `Transition`, but contains
+ * additional features necessary to play nice with CSS transitions (hence the
+ * name of the component).
+ *
+ * ---
+ *
+ * By default the `Transition` component does not alter the behavior of the
+ * component it renders, it only tracks "enter" and "exit" states for the
+ * components. It's up to you to give meaning and effect to those states. For
+ * example we can add styles to a component when it enters or exits:
+ *
+ * ```jsx
+ * import { Transition } from 'react-transition-group';
+ *
+ * const duration = 300;
+ *
+ * const defaultStyle = {
+ * transition: `opacity ${duration}ms ease-in-out`,
+ * opacity: 0,
+ * }
+ *
+ * const transitionStyles = {
+ * entering: { opacity: 0 },
+ * entered: { opacity: 1 },
+ * };
+ *
+ * const Fade = ({ in: inProp }) => (
+ *
+ * {state => (
+ *
+ * I'm a fade Transition!
+ *
+ * )}
+ *
+ * );
+ * ```
+ *
+ * There are 4 main states a Transition can be in:
+ * - `'entering'`
+ * - `'entered'`
+ * - `'exiting'`
+ * - `'exited'`
+ *
+ * Transition state is toggled via the `in` prop. When `true` the component
+ * begins the "Enter" stage. During this stage, the component will shift from
+ * its current transition state, to `'entering'` for the duration of the
+ * transition and then to the `'entered'` stage once it's complete. Let's take
+ * the following example (we'll use the
+ * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):
+ *
+ * ```jsx
+ * function App() {
+ * const [inProp, setInProp] = useState(false);
+ * return (
+ *
+ *
+ * {state => (
+ * // ...
+ * )}
+ *
+ *
+ *
+ * );
+ * }
+ * ```
+ *
+ * When the button is clicked the component will shift to the `'entering'` state
+ * and stay there for 500ms (the value of `timeout`) before it finally switches
+ * to `'entered'`.
+ *
+ * When `in` is `false` the same thing happens except the state moves from
+ * `'exiting'` to `'exited'`.
+ */
+
+ exports.EXITING = EXITING;
+
+ var Transition =
+ /*#__PURE__*/
+ function (_React$Component) {
+ _inheritsLoose(Transition, _React$Component);
+
+ function Transition(props, context) {
+ var _this;
+
+ _this = _React$Component.call(this, props, context) || this;
+ var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears
+
+ var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
+ var initialStatus;
+ _this.appearStatus = null;
+
+ if (props.in) {
+ if (appear) {
+ initialStatus = EXITED;
+ _this.appearStatus = ENTERING;
+ } else {
+ initialStatus = ENTERED;
+ }
+ } else {
+ if (props.unmountOnExit || props.mountOnEnter) {
+ initialStatus = UNMOUNTED;
+ } else {
+ initialStatus = EXITED;
+ }
+ }
+
+ _this.state = {
+ status: initialStatus
+ };
+ _this.nextCallback = null;
+ return _this;
+ }
+
+ var _proto = Transition.prototype;
+
+ _proto.getChildContext = function getChildContext() {
+ return {
+ transitionGroup: null // allows for nested Transitions
+
+ };
+ };
+
+ Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
+ var nextIn = _ref.in;
+
+ if (nextIn && prevState.status === UNMOUNTED) {
+ return {
+ status: EXITED
+ };
+ }
+
+ return null;
+ }; // getSnapshotBeforeUpdate(prevProps) {
+ // let nextStatus = null
+ // if (prevProps !== this.props) {
+ // const { status } = this.state
+ // if (this.props.in) {
+ // if (status !== ENTERING && status !== ENTERED) {
+ // nextStatus = ENTERING
+ // }
+ // } else {
+ // if (status === ENTERING || status === ENTERED) {
+ // nextStatus = EXITING
+ // }
+ // }
+ // }
+ // return { nextStatus }
+ // }
+
+
+ _proto.componentDidMount = function componentDidMount() {
+ this.updateStatus(true, this.appearStatus);
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
+ var nextStatus = null;
+
+ if (prevProps !== this.props) {
+ var status = this.state.status;
+
+ if (this.props.in) {
+ if (status !== ENTERING && status !== ENTERED) {
+ nextStatus = ENTERING;
+ }
+ } else {
+ if (status === ENTERING || status === ENTERED) {
+ nextStatus = EXITING;
+ }
+ }
+ }
+
+ this.updateStatus(false, nextStatus);
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ this.cancelNextCallback();
+ };
+
+ _proto.getTimeouts = function getTimeouts() {
+ var timeout = this.props.timeout;
+ var exit, enter, appear;
+ exit = enter = appear = timeout;
+
+ if (timeout != null && typeof timeout !== 'number') {
+ exit = timeout.exit;
+ enter = timeout.enter; // TODO: remove fallback for next major
+
+ appear = timeout.appear !== undefined ? timeout.appear : enter;
+ }
+
+ return {
+ exit: exit,
+ enter: enter,
+ appear: appear
+ };
+ };
+
+ _proto.updateStatus = function updateStatus(mounting, nextStatus) {
+ if (mounting === void 0) {
+ mounting = false;
+ }
+
+ if (nextStatus !== null) {
+ // nextStatus will always be ENTERING or EXITING.
+ this.cancelNextCallback();
+
+ var node = _reactDom.default.findDOMNode(this);
+
+ if (nextStatus === ENTERING) {
+ this.performEnter(node, mounting);
+ } else {
+ this.performExit(node);
+ }
+ } else if (this.props.unmountOnExit && this.state.status === EXITED) {
+ this.setState({
+ status: UNMOUNTED
+ });
+ }
+ };
+
+ _proto.performEnter = function performEnter(node, mounting) {
+ var _this2 = this;
+
+ var enter = this.props.enter;
+ var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;
+ var timeouts = this.getTimeouts();
+ var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED
+ // if we are mounting and running this it means appear _must_ be set
+
+ if (!mounting && !enter) {
+ this.safeSetState({
+ status: ENTERED
+ }, function () {
+ _this2.props.onEntered(node);
+ });
+ return;
+ }
+
+ this.props.onEnter(node, appearing);
+ this.safeSetState({
+ status: ENTERING
+ }, function () {
+ _this2.props.onEntering(node, appearing);
+
+ _this2.onTransitionEnd(node, enterTimeout, function () {
+ _this2.safeSetState({
+ status: ENTERED
+ }, function () {
+ _this2.props.onEntered(node, appearing);
+ });
+ });
+ });
+ };
+
+ _proto.performExit = function performExit(node) {
+ var _this3 = this;
+
+ var exit = this.props.exit;
+ var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED
+
+ if (!exit) {
+ this.safeSetState({
+ status: EXITED
+ }, function () {
+ _this3.props.onExited(node);
+ });
+ return;
+ }
+
+ this.props.onExit(node);
+ this.safeSetState({
+ status: EXITING
+ }, function () {
+ _this3.props.onExiting(node);
+
+ _this3.onTransitionEnd(node, timeouts.exit, function () {
+ _this3.safeSetState({
+ status: EXITED
+ }, function () {
+ _this3.props.onExited(node);
+ });
+ });
+ });
+ };
+
+ _proto.cancelNextCallback = function cancelNextCallback() {
+ if (this.nextCallback !== null) {
+ this.nextCallback.cancel();
+ this.nextCallback = null;
+ }
+ };
+
+ _proto.safeSetState = function safeSetState(nextState, callback) {
+ // This shouldn't be necessary, but there are weird race conditions with
+ // setState callbacks and unmounting in testing, so always make sure that
+ // we can cancel any pending setState callbacks after we unmount.
+ callback = this.setNextCallback(callback);
+ this.setState(nextState, callback);
+ };
+
+ _proto.setNextCallback = function setNextCallback(callback) {
+ var _this4 = this;
+
+ var active = true;
+
+ this.nextCallback = function (event) {
+ if (active) {
+ active = false;
+ _this4.nextCallback = null;
+ callback(event);
+ }
+ };
+
+ this.nextCallback.cancel = function () {
+ active = false;
+ };
+
+ return this.nextCallback;
+ };
+
+ _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {
+ this.setNextCallback(handler);
+ var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
+
+ if (!node || doesNotHaveTimeoutOrListener) {
+ setTimeout(this.nextCallback, 0);
+ return;
+ }
+
+ if (this.props.addEndListener) {
+ this.props.addEndListener(node, this.nextCallback);
+ }
+
+ if (timeout != null) {
+ setTimeout(this.nextCallback, timeout);
+ }
+ };
+
+ _proto.render = function render() {
+ var status = this.state.status;
+
+ if (status === UNMOUNTED) {
+ return null;
+ }
+
+ var _this$props = this.props,
+ children = _this$props.children,
+ childProps = _objectWithoutPropertiesLoose(_this$props, ["children"]); // filter props for Transtition
+
+
+ delete childProps.in;
+ delete childProps.mountOnEnter;
+ delete childProps.unmountOnExit;
+ delete childProps.appear;
+ delete childProps.enter;
+ delete childProps.exit;
+ delete childProps.timeout;
+ delete childProps.addEndListener;
+ delete childProps.onEnter;
+ delete childProps.onEntering;
+ delete childProps.onEntered;
+ delete childProps.onExit;
+ delete childProps.onExiting;
+ delete childProps.onExited;
+
+ if (typeof children === 'function') {
+ return children(status, childProps);
+ }
+
+ var child = _react.default.Children.only(children);
+
+ return _react.default.cloneElement(child, childProps);
+ };
+
+ return Transition;
+ }(_react.default.Component);
+
+ Transition.contextTypes = {
+ transitionGroup: PropTypes.object
+ };
+ Transition.childContextTypes = {
+ transitionGroup: function transitionGroup() {}
+ };
+ Transition.propTypes = process.env.NODE_ENV !== "production" ? {
+ /**
+ * A `function` child can be used instead of a React element. This function is
+ * called with the current transition status (`'entering'`, `'entered'`,
+ * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context
+ * specific props to a component.
+ *
+ * ```jsx
+ *
+ * {state => (
+ *
+ * )}
+ *
+ * ```
+ */
+ children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,
+
+ /**
+ * Show the component; triggers the enter or exit states
+ */
+ in: PropTypes.bool,
+
+ /**
+ * By default the child component is mounted immediately along with
+ * the parent `Transition` component. If you want to "lazy mount" the component on the
+ * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay
+ * mounted, even on "exited", unless you also specify `unmountOnExit`.
+ */
+ mountOnEnter: PropTypes.bool,
+
+ /**
+ * By default the child component stays mounted after it reaches the `'exited'` state.
+ * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.
+ */
+ unmountOnExit: PropTypes.bool,
+
+ /**
+ * Normally a component is not transitioned if it is shown when the `` component mounts.
+ * If you want to transition on the first mount set `appear` to `true`, and the
+ * component will transition in as soon as the `` mounts.
+ *
+ * > Note: there are no specific "appear" states. `appear` only adds an additional `enter` transition.
+ */
+ appear: PropTypes.bool,
+
+ /**
+ * Enable or disable enter transitions.
+ */
+ enter: PropTypes.bool,
+
+ /**
+ * Enable or disable exit transitions.
+ */
+ exit: PropTypes.bool,
+
+ /**
+ * The duration of the transition, in milliseconds.
+ * Required unless `addEndListener` is provided.
+ *
+ * You may specify a single timeout for all transitions:
+ *
+ * ```jsx
+ * timeout={500}
+ * ```
+ *
+ * or individually:
+ *
+ * ```jsx
+ * timeout={{
+ * appear: 500,
+ * enter: 300,
+ * exit: 500,
+ * }}
+ * ```
+ *
+ * - `appear` defaults to the value of `enter`
+ * - `enter` defaults to `0`
+ * - `exit` defaults to `0`
+ *
+ * @type {number | { enter?: number, exit?: number, appear?: number }}
+ */
+ timeout: function timeout(props) {
+ var pt = _PropTypes.timeoutsShape;
+ if (!props.addEndListener) pt = pt.isRequired;
+
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ return pt.apply(void 0, [props].concat(args));
+ },
+
+ /**
+ * Add a custom transition end trigger. Called with the transitioning
+ * DOM node and a `done` callback. Allows for more fine grained transition end
+ * logic. **Note:** Timeouts are still used as a fallback if provided.
+ *
+ * ```jsx
+ * addEndListener={(node, done) => {
+ * // use the css transitionend event to mark the finish of a transition
+ * node.addEventListener('transitionend', done, false);
+ * }}
+ * ```
+ */
+ addEndListener: PropTypes.func,
+
+ /**
+ * Callback fired before the "entering" status is applied. An extra parameter
+ * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount
+ *
+ * @type Function(node: HtmlElement, isAppearing: bool) -> void
+ */
+ onEnter: PropTypes.func,
+
+ /**
+ * Callback fired after the "entering" status is applied. An extra parameter
+ * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount
+ *
+ * @type Function(node: HtmlElement, isAppearing: bool)
+ */
+ onEntering: PropTypes.func,
+
+ /**
+ * Callback fired after the "entered" status is applied. An extra parameter
+ * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount
+ *
+ * @type Function(node: HtmlElement, isAppearing: bool) -> void
+ */
+ onEntered: PropTypes.func,
+
+ /**
+ * Callback fired before the "exiting" status is applied.
+ *
+ * @type Function(node: HtmlElement) -> void
+ */
+ onExit: PropTypes.func,
+
+ /**
+ * Callback fired after the "exiting" status is applied.
+ *
+ * @type Function(node: HtmlElement) -> void
+ */
+ onExiting: PropTypes.func,
+
+ /**
+ * Callback fired after the "exited" status is applied.
+ *
+ * @type Function(node: HtmlElement) -> void
+ */
+ onExited: PropTypes.func // Name the function so it is clearer in the documentation
+
+ } : {};
+
+ function noop() {}
+
+ Transition.defaultProps = {
+ in: false,
+ mountOnEnter: false,
+ unmountOnExit: false,
+ appear: false,
+ enter: true,
+ exit: true,
+ onEnter: noop,
+ onEntering: noop,
+ onEntered: noop,
+ onExit: noop,
+ onExiting: noop,
+ onExited: noop
+ };
+ Transition.UNMOUNTED = 0;
+ Transition.EXITED = 1;
+ Transition.ENTERING = 2;
+ Transition.ENTERED = 3;
+ Transition.EXITING = 4;
+
+ var _default = (0, _reactLifecyclesCompat.polyfill)(Transition);
+
+ exports.default = _default;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 528 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ exports.__esModule = true;
+ exports.classNamesShape = exports.timeoutsShape = void 0;
+
+ var _propTypes = _interopRequireDefault(__webpack_require__(1));
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
+ enter: _propTypes.default.number,
+ exit: _propTypes.default.number,
+ appear: _propTypes.default.number
+ }).isRequired]) : null;
+ exports.timeoutsShape = timeoutsShape;
+ var classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({
+ enter: _propTypes.default.string,
+ exit: _propTypes.default.string,
+ active: _propTypes.default.string
+ }), _propTypes.default.shape({
+ enter: _propTypes.default.string,
+ enterDone: _propTypes.default.string,
+ enterActive: _propTypes.default.string,
+ exit: _propTypes.default.string,
+ exitDone: _propTypes.default.string,
+ exitActive: _propTypes.default.string
+ })]) : null;
+ exports.classNamesShape = classNamesShape;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 529 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {
+
+ exports.__esModule = true;
+ exports.default = void 0;
+
+ var _propTypes = _interopRequireDefault(__webpack_require__(1));
+
+ var _react = _interopRequireDefault(__webpack_require__(0));
+
+ var _reactLifecyclesCompat = __webpack_require__(14);
+
+ var _ChildMapping = __webpack_require__(1651);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
+
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ var values = Object.values || function (obj) {
+ return Object.keys(obj).map(function (k) {
+ return obj[k];
+ });
+ };
+
+ var defaultProps = {
+ component: 'div',
+ childFactory: function childFactory(child) {
+ return child;
+ }
+ /**
+ * The `` component manages a set of transition components
+ * (`` and ``) in a list. Like with the transition
+ * components, `` is a state machine for managing the mounting
+ * and unmounting of components over time.
+ *
+ * Consider the example below. As items are removed or added to the TodoList the
+ * `in` prop is toggled automatically by the ``.
+ *
+ * Note that `` does not define any animation behavior!
+ * Exactly _how_ a list item animates is up to the individual transition
+ * component. This means you can mix and match animations across different list
+ * items.
+ */
+
+ };
+
+ var TransitionGroup =
+ /*#__PURE__*/
+ function (_React$Component) {
+ _inheritsLoose(TransitionGroup, _React$Component);
+
+ function TransitionGroup(props, context) {
+ var _this;
+
+ _this = _React$Component.call(this, props, context) || this;
+
+ var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear
+
+
+ _this.state = {
+ handleExited: handleExited,
+ firstRender: true
+ };
+ return _this;
+ }
+
+ var _proto = TransitionGroup.prototype;
+
+ _proto.getChildContext = function getChildContext() {
+ return {
+ transitionGroup: {
+ isMounting: !this.appeared
+ }
+ };
+ };
+
+ _proto.componentDidMount = function componentDidMount() {
+ this.appeared = true;
+ this.mounted = true;
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ this.mounted = false;
+ };
+
+ TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
+ var prevChildMapping = _ref.children,
+ handleExited = _ref.handleExited,
+ firstRender = _ref.firstRender;
+ return {
+ children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),
+ firstRender: false
+ };
+ };
+
+ _proto.handleExited = function handleExited(child, node) {
+ var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);
+ if (child.key in currentChildMapping) return;
+
+ if (child.props.onExited) {
+ child.props.onExited(node);
+ }
+
+ if (this.mounted) {
+ this.setState(function (state) {
+ var children = _extends({}, state.children);
+
+ delete children[child.key];
+ return {
+ children: children
+ };
+ });
+ }
+ };
+
+ _proto.render = function render() {
+ var _this$props = this.props,
+ Component = _this$props.component,
+ childFactory = _this$props.childFactory,
+ props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]);
+
+ var children = values(this.state.children).map(childFactory);
+ delete props.appear;
+ delete props.enter;
+ delete props.exit;
+
+ if (Component === null) {
+ return children;
+ }
+
+ return _react.default.createElement(Component, props, children);
+ };
+
+ return TransitionGroup;
+ }(_react.default.Component);
+
+ TransitionGroup.childContextTypes = {
+ transitionGroup: _propTypes.default.object.isRequired
+ };
+ TransitionGroup.propTypes = process.env.NODE_ENV !== "production" ? {
+ /**
+ * `` renders a `` by default. You can change this
+ * behavior by providing a `component` prop.
+ * If you use React v16+ and would like to avoid a wrapping `
` element
+ * you can pass in `component={null}`. This is useful if the wrapping div
+ * borks your css styles.
+ */
+ component: _propTypes.default.any,
+
+ /**
+ * A set of `
` components, that are toggled `in` and out as they
+ * leave. the `` will inject specific transition props, so
+ * remember to spread them through if you are wrapping the `` as
+ * with our `` example.
+ *
+ * While this component is meant for multiple `Transition` or `CSSTransition`
+ * children, sometimes you may want to have a single transition child with
+ * content that you want to be transitioned out and in when you change it
+ * (e.g. routes, images etc.) In that case you can change the `key` prop of
+ * the transition child as you change its content, this will cause
+ * `TransitionGroup` to transition the child out and back in.
+ */
+ children: _propTypes.default.node,
+
+ /**
+ * A convenience prop that enables or disables appear animations
+ * for all children. Note that specifying this will override any defaults set
+ * on individual children Transitions.
+ */
+ appear: _propTypes.default.bool,
+
+ /**
+ * A convenience prop that enables or disables enter animations
+ * for all children. Note that specifying this will override any defaults set
+ * on individual children Transitions.
+ */
+ enter: _propTypes.default.bool,
+
+ /**
+ * A convenience prop that enables or disables exit animations
+ * for all children. Note that specifying this will override any defaults set
+ * on individual children Transitions.
+ */
+ exit: _propTypes.default.bool,
+
+ /**
+ * You may need to apply reactive updates to a child as it is exiting.
+ * This is generally done by using `cloneElement` however in the case of an exiting
+ * child the element has already been removed and not accessible to the consumer.
+ *
+ * If you do need to update a child as it leaves you can provide a `childFactory`
+ * to wrap every child, even the ones that are leaving.
+ *
+ * @type Function(child: ReactElement) -> ReactElement
+ */
+ childFactory: _propTypes.default.func
+ } : {};
+ TransitionGroup.defaultProps = defaultProps;
+
+ var _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);
+
+ exports.default = _default;
+ module.exports = exports["default"];
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 530 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ var util = {
+ isAppearSupported: function isAppearSupported(props) {
+ return props.transitionName && props.transitionAppear || props.animation.appear;
+ },
+ isEnterSupported: function isEnterSupported(props) {
+ return props.transitionName && props.transitionEnter || props.animation.enter;
+ },
+ isLeaveSupported: function isLeaveSupported(props) {
+ return props.transitionName && props.transitionLeave || props.animation.leave;
+ },
+ allowAppearCallback: function allowAppearCallback(props) {
+ return props.transitionAppear || props.animation.appear;
+ },
+ allowEnterCallback: function allowEnterCallback(props) {
+ return props.transitionEnter || props.animation.enter;
+ },
+ allowLeaveCallback: function allowLeaveCallback(props) {
+ return props.transitionLeave || props.animation.leave;
+ }
+ };
+ /* harmony default export */ __webpack_exports__["a"] = (util);
+
+ /***/ }),
+ /* 531 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(23);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);
+
+
+
+
+
+
+
+ var LazyRenderBox = function (_Component) {
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(LazyRenderBox, _Component);
+
+ function LazyRenderBox() {
+ __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, LazyRenderBox);
+
+ return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _Component.apply(this, arguments));
+ }
+
+ LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
+ return nextProps.hiddenClassName || nextProps.visible;
+ };
+
+ LazyRenderBox.prototype.render = function render() {
+ var _props = this.props,
+ hiddenClassName = _props.hiddenClassName,
+ visible = _props.visible,
+ props = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default()(_props, ['hiddenClassName', 'visible']);
+
+ if (hiddenClassName || __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.count(props.children) > 1) {
+ if (!visible && hiddenClassName) {
+ props.className += ' ' + hiddenClassName;
+ }
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div', props);
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.only(props.children);
+ };
+
+ return LazyRenderBox;
+ }(__WEBPACK_IMPORTED_MODULE_4_react__["Component"]);
+
+ LazyRenderBox.propTypes = {
+ children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,
+ className: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,
+ visible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,
+ hiddenClassName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string
+ };
+
+
+ /* harmony default export */ __webpack_exports__["a"] = (LazyRenderBox);
+
+ /***/ }),
+ /* 532 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (immutable) */ __webpack_exports__["a"] = getAlignFromPlacement;
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getAlignPopupClassName;
+ /* harmony export (immutable) */ __webpack_exports__["c"] = saveRef;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);
+
+ function isPointsEq(a1, a2, isAlignPoint) {
+ if (isAlignPoint) {
+ return a1[0] === a2[0];
+ }
+ return a1[0] === a2[0] && a1[1] === a2[1];
+ }
+
+ function getAlignFromPlacement(builtinPlacements, placementStr, align) {
+ var baseAlign = builtinPlacements[placementStr] || {};
+ return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, baseAlign, align);
+ }
+
+ function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {
+ var points = align.points;
+ for (var placement in builtinPlacements) {
+ if (builtinPlacements.hasOwnProperty(placement)) {
+ if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {
+ return prefixCls + '-placement-' + placement;
+ }
+ }
+ }
+ return '';
+ }
+
+ function saveRef(name, component) {
+ this[name] = component;
+ }
+
+ /***/ }),
+ /* 533 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+ /**
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+ var __DEV__ = process.env.NODE_ENV !== 'production';
+
+ var warning = function() {};
+
+ if (__DEV__) {
+ var printWarning = function printWarning(format, args) {
+ var len = arguments.length;
+ args = new Array(len > 1 ? len - 1 : 0);
+ for (var key = 1; key < len; key++) {
+ args[key - 1] = arguments[key];
+ }
+ var argIndex = 0;
+ var message = 'Warning: ' +
+ format.replace(/%s/g, function() {
+ return args[argIndex++];
+ });
+ if (typeof console !== 'undefined') {
+ console.error(message);
+ }
+ try {
+ // --- Welcome to debugging React ---
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch (x) {}
+ }
+
+ warning = function(condition, format, args) {
+ var len = arguments.length;
+ args = new Array(len > 2 ? len - 2 : 0);
+ for (var key = 2; key < len; key++) {
+ args[key - 2] = arguments[key];
+ }
+ if (format === undefined) {
+ throw new Error(
+ '`warning(condition, format, ...args)` requires a warning ' +
+ 'message argument'
+ );
+ }
+ if (!condition) {
+ printWarning.apply(null, [format].concat(args));
+ }
+ };
+ }
+
+ module.exports = warning;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
+
+ /***/ }),
+ /* 534 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* unused harmony export InternalTreeNode */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_animate_es_CSSMotion__ = __webpack_require__(535);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__ = __webpack_require__(119);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_lifecycles_compat__ = __webpack_require__(14);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__contextTypes__ = __webpack_require__(537);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(208);
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
+
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
+
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+ function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+
+
+ // @ts-ignore
+
+
+
+
+
+
+ var ICON_OPEN = 'open';
+ var ICON_CLOSE = 'close';
+ var defaultTitle = '---';
+
+ var TreeNode = /*#__PURE__*/function (_React$Component) {
+ _inherits(TreeNode, _React$Component);
+
+ var _super = _createSuper(TreeNode);
+
+ function TreeNode() {
+ var _this;
+
+ _classCallCheck(this, TreeNode);
+
+ _this = _super.apply(this, arguments);
+ _this.state = {
+ dragNodeHighlight: false
+ };
+
+ _this.onSelectorClick = function (e) {
+ // Click trigger before select/check operation
+ var onNodeClick = _this.props.context.onNodeClick;
+ onNodeClick(e, _assertThisInitialized(_this));
+
+ if (_this.isSelectable()) {
+ _this.onSelect(e);
+ } else {
+ _this.onCheck(e);
+ }
+ };
+
+ _this.onSelectorDoubleClick = function (e) {
+ var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;
+ onNodeDoubleClick(e, _assertThisInitialized(_this));
+ };
+
+ _this.onSelect = function (e) {
+ if (_this.isDisabled()) return;
+ var onNodeSelect = _this.props.context.onNodeSelect;
+ e.preventDefault();
+ onNodeSelect(e, _assertThisInitialized(_this));
+ };
+
+ _this.onCheck = function (e) {
+ if (_this.isDisabled()) return;
+ var _this$props = _this.props,
+ disableCheckbox = _this$props.disableCheckbox,
+ checked = _this$props.checked;
+ var onNodeCheck = _this.props.context.onNodeCheck;
+ if (!_this.isCheckable() || disableCheckbox) return;
+ e.preventDefault();
+ var targetChecked = !checked;
+ onNodeCheck(e, _assertThisInitialized(_this), targetChecked);
+ };
+
+ _this.onMouseEnter = function (e) {
+ var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;
+ onNodeMouseEnter(e, _assertThisInitialized(_this));
+ };
+
+ _this.onMouseLeave = function (e) {
+ var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;
+ onNodeMouseLeave(e, _assertThisInitialized(_this));
+ };
+
+ _this.onContextMenu = function (e) {
+ var onNodeContextMenu = _this.props.context.onNodeContextMenu;
+ onNodeContextMenu(e, _assertThisInitialized(_this));
+ };
+
+ _this.onDragStart = function (e) {
+ var onNodeDragStart = _this.props.context.onNodeDragStart;
+ e.stopPropagation();
+
+ _this.setState({
+ dragNodeHighlight: true
+ });
+
+ onNodeDragStart(e, _assertThisInitialized(_this));
+
+ try {
+ // ie throw error
+ // firefox-need-it
+ e.dataTransfer.setData('text/plain', '');
+ } catch (error) {// empty
+ }
+ };
+
+ _this.onDragEnter = function (e) {
+ var onNodeDragEnter = _this.props.context.onNodeDragEnter;
+ e.preventDefault();
+ e.stopPropagation();
+ onNodeDragEnter(e, _assertThisInitialized(_this));
+ };
+
+ _this.onDragOver = function (e) {
+ var onNodeDragOver = _this.props.context.onNodeDragOver;
+ e.preventDefault();
+ e.stopPropagation();
+ onNodeDragOver(e, _assertThisInitialized(_this));
+ };
+
+ _this.onDragLeave = function (e) {
+ var onNodeDragLeave = _this.props.context.onNodeDragLeave;
+ e.stopPropagation();
+ onNodeDragLeave(e, _assertThisInitialized(_this));
+ };
+
+ _this.onDragEnd = function (e) {
+ var onNodeDragEnd = _this.props.context.onNodeDragEnd;
+ e.stopPropagation();
+
+ _this.setState({
+ dragNodeHighlight: false
+ });
+
+ onNodeDragEnd(e, _assertThisInitialized(_this));
+ };
+
+ _this.onDrop = function (e) {
+ var onNodeDrop = _this.props.context.onNodeDrop;
+ e.preventDefault();
+ e.stopPropagation();
+
+ _this.setState({
+ dragNodeHighlight: false
+ });
+
+ onNodeDrop(e, _assertThisInitialized(_this));
+ }; // Disabled item still can be switch
+
+
+ _this.onExpand = function (e) {
+ var onNodeExpand = _this.props.context.onNodeExpand;
+ onNodeExpand(e, _assertThisInitialized(_this));
+ }; // Drag usage
+
+
+ _this.setSelectHandle = function (node) {
+ _this.selectHandle = node;
+ };
+
+ _this.getNodeChildren = function () {
+ var children = _this.props.children;
+ var originList = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__["a" /* default */])(children).filter(function (node) {
+ return node;
+ });
+ var targetList = Object(__WEBPACK_IMPORTED_MODULE_7__util__["k" /* getNodeChildren */])(originList);
+
+ if (originList.length !== targetList.length) {
+ Object(__WEBPACK_IMPORTED_MODULE_7__util__["p" /* warnOnlyTreeNode */])();
+ }
+
+ return targetList;
+ };
+
+ _this.getNodeState = function () {
+ var expanded = _this.props.expanded;
+
+ if (_this.isLeaf()) {
+ return null;
+ }
+
+ return expanded ? ICON_OPEN : ICON_CLOSE;
+ };
+
+ _this.isLeaf = function () {
+ var _this$props2 = _this.props,
+ isLeaf = _this$props2.isLeaf,
+ loaded = _this$props2.loaded;
+ var loadData = _this.props.context.loadData;
+ var hasChildren = _this.getNodeChildren().length !== 0;
+
+ if (isLeaf === false) {
+ return false;
+ }
+
+ return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;
+ };
+
+ _this.isDisabled = function () {
+ var disabled = _this.props.disabled;
+ var treeDisabled = _this.props.context.disabled; // Follow the logic of Selectable
+
+ if (disabled === false) {
+ return false;
+ }
+
+ return !!(treeDisabled || disabled);
+ };
+
+ _this.isCheckable = function () {
+ var checkable = _this.props.checkable;
+ var treeCheckable = _this.props.context.checkable; // Return false if tree or treeNode is not checkable
+
+ if (!treeCheckable || checkable === false) return false;
+ return treeCheckable;
+ }; // Load data to avoid default expanded tree without data
+
+
+ _this.syncLoadData = function (props) {
+ var expanded = props.expanded,
+ loading = props.loading,
+ loaded = props.loaded;
+ var _this$props$context = _this.props.context,
+ loadData = _this$props$context.loadData,
+ onNodeLoad = _this$props$context.onNodeLoad;
+ if (loading) return; // read from state to avoid loadData at same time
+
+ if (loadData && expanded && !_this.isLeaf()) {
+ // We needn't reload data when has children in sync logic
+ // It's only needed in node expanded
+ var hasChildren = _this.getNodeChildren().length !== 0;
+
+ if (!hasChildren && !loaded) {
+ onNodeLoad(_assertThisInitialized(_this));
+ }
+ }
+ }; // Switcher
+
+
+ _this.renderSwitcher = function () {
+ var _this$props3 = _this.props,
+ expanded = _this$props3.expanded,
+ switcherIconFromProps = _this$props3.switcherIcon;
+ var _this$props$context2 = _this.props.context,
+ prefixCls = _this$props$context2.prefixCls,
+ switcherIconFromCtx = _this$props$context2.switcherIcon;
+ var switcherIcon = switcherIconFromProps || switcherIconFromCtx;
+
+ if (_this.isLeaf()) {
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(prefixCls, "-switcher"), "".concat(prefixCls, "-switcher-noop"))
+ }, typeof switcherIcon === 'function' ? switcherIcon(_objectSpread({}, _this.props, {
+ isLeaf: true
+ })) : switcherIcon);
+ }
+
+ var switcherCls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(prefixCls, "-switcher"), "".concat(prefixCls, "-switcher_").concat(expanded ? ICON_OPEN : ICON_CLOSE));
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ onClick: _this.onExpand,
+ className: switcherCls
+ }, typeof switcherIcon === 'function' ? switcherIcon(_objectSpread({}, _this.props, {
+ isLeaf: false
+ })) : switcherIcon);
+ }; // Checkbox
+
+
+ _this.renderCheckbox = function () {
+ var _this$props4 = _this.props,
+ checked = _this$props4.checked,
+ halfChecked = _this$props4.halfChecked,
+ disableCheckbox = _this$props4.disableCheckbox;
+ var prefixCls = _this.props.context.prefixCls;
+
+ var disabled = _this.isDisabled();
+
+ var checkable = _this.isCheckable();
+
+ if (!checkable) return null; // [Legacy] Custom element should be separate with `checkable` in future
+
+ var $custom = typeof checkable !== 'boolean' ? checkable : null;
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(prefixCls, "-checkbox"), checked && "".concat(prefixCls, "-checkbox-checked"), !checked && halfChecked && "".concat(prefixCls, "-checkbox-indeterminate"), (disabled || disableCheckbox) && "".concat(prefixCls, "-checkbox-disabled")),
+ onClick: _this.onCheck
+ }, $custom);
+ };
+
+ _this.renderIcon = function () {
+ var loading = _this.props.loading;
+ var prefixCls = _this.props.context.prefixCls;
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(prefixCls, "-iconEle"), "".concat(prefixCls, "-icon__").concat(_this.getNodeState() || 'docu'), loading && "".concat(prefixCls, "-icon_loading"))
+ });
+ }; // Icon + Title
+
+
+ _this.renderSelector = function () {
+ var dragNodeHighlight = _this.state.dragNodeHighlight;
+ var _this$props5 = _this.props,
+ title = _this$props5.title,
+ selected = _this$props5.selected,
+ icon = _this$props5.icon,
+ loading = _this$props5.loading;
+ var _this$props$context3 = _this.props.context,
+ prefixCls = _this$props$context3.prefixCls,
+ showIcon = _this$props$context3.showIcon,
+ treeIcon = _this$props$context3.icon,
+ draggable = _this$props$context3.draggable,
+ loadData = _this$props$context3.loadData;
+
+ var disabled = _this.isDisabled();
+
+ var wrapClass = "".concat(prefixCls, "-node-content-wrapper"); // Icon - Still show loading icon when loading without showIcon
+
+ var $icon;
+
+ if (showIcon) {
+ var currentIcon = icon || treeIcon;
+ $icon = currentIcon ? __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(prefixCls, "-iconEle"), "".concat(prefixCls, "-icon__customize"))
+ }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();
+ } else if (loadData && loading) {
+ $icon = _this.renderIcon();
+ } // Title
+
+
+ var $title = __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ className: "".concat(prefixCls, "-title")
+ }, title);
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("span", {
+ ref: _this.setSelectHandle,
+ title: typeof title === 'string' ? title : '',
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()("".concat(wrapClass), "".concat(wrapClass, "-").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && "".concat(prefixCls, "-node-selected"), !disabled && draggable && 'draggable'),
+ draggable: !disabled && draggable || undefined,
+ "aria-grabbed": !disabled && draggable || undefined,
+ onMouseEnter: _this.onMouseEnter,
+ onMouseLeave: _this.onMouseLeave,
+ onContextMenu: _this.onContextMenu,
+ onClick: _this.onSelectorClick,
+ onDoubleClick: _this.onSelectorDoubleClick,
+ onDragStart: draggable ? _this.onDragStart : undefined
+ }, $icon, $title);
+ }; // Children list wrapped with `Animation`
+
+
+ _this.renderChildren = function () {
+ var _this$props6 = _this.props,
+ expanded = _this$props6.expanded,
+ pos = _this$props6.pos;
+ var _this$props$context4 = _this.props.context,
+ prefixCls = _this$props$context4.prefixCls,
+ motion = _this$props$context4.motion,
+ renderTreeNode = _this$props$context4.renderTreeNode; // Children TreeNode
+
+ var nodeList = _this.getNodeChildren();
+
+ if (nodeList.length === 0) {
+ return null;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](__WEBPACK_IMPORTED_MODULE_3_rc_animate_es_CSSMotion__["b" /* default */], Object.assign({
+ visible: expanded
+ }, motion), function (_ref) {
+ var style = _ref.style,
+ className = _ref.className;
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("ul", {
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()(className, "".concat(prefixCls, "-child-tree"), expanded && "".concat(prefixCls, "-child-tree-open")),
+ style: style,
+ "data-expanded": expanded,
+ role: "group"
+ }, Object(__WEBPACK_IMPORTED_MODULE_7__util__["m" /* mapChildren */])(nodeList, function (node, index) {
+ return renderTreeNode(node, index, pos);
+ }));
+ });
+ };
+
+ return _this;
+ } // Isomorphic needn't load data in server side
+
+
+ _createClass(TreeNode, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props7 = this.props,
+ eventKey = _this$props7.eventKey,
+ registerTreeNode = _this$props7.context.registerTreeNode;
+ this.syncLoadData(this.props);
+ registerTreeNode(eventKey, this);
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate() {
+ this.syncLoadData(this.props);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var _this$props8 = this.props,
+ eventKey = _this$props8.eventKey,
+ registerTreeNode = _this$props8.context.registerTreeNode;
+ registerTreeNode(eventKey, null);
+ }
+ }, {
+ key: "isSelectable",
+ value: function isSelectable() {
+ var selectable = this.props.selectable;
+ var treeSelectable = this.props.context.selectable; // Ignore when selectable is undefined or null
+
+ if (typeof selectable === 'boolean') {
+ return selectable;
+ }
+
+ return treeSelectable;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _classNames;
+
+ var loading = this.props.loading;
+
+ var _this$props9 = this.props,
+ className = _this$props9.className,
+ style = _this$props9.style,
+ dragOver = _this$props9.dragOver,
+ dragOverGapTop = _this$props9.dragOverGapTop,
+ dragOverGapBottom = _this$props9.dragOverGapBottom,
+ isLeaf = _this$props9.isLeaf,
+ expanded = _this$props9.expanded,
+ selected = _this$props9.selected,
+ checked = _this$props9.checked,
+ halfChecked = _this$props9.halfChecked,
+ otherProps = _objectWithoutProperties(_this$props9, ["className", "style", "dragOver", "dragOverGapTop", "dragOverGapBottom", "isLeaf", "expanded", "selected", "checked", "halfChecked"]);
+
+ var _this$props$context5 = this.props.context,
+ prefixCls = _this$props$context5.prefixCls,
+ filterTreeNode = _this$props$context5.filterTreeNode,
+ draggable = _this$props$context5.draggable;
+ var disabled = this.isDisabled();
+ var dataOrAriaAttributeProps = Object(__WEBPACK_IMPORTED_MODULE_7__util__["i" /* getDataAndAria */])(otherProps);
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"]("li", Object.assign({
+ className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()(className, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-treenode-disabled"), disabled), _defineProperty(_classNames, "".concat(prefixCls, "-treenode-switcher-").concat(expanded ? 'open' : 'close'), !isLeaf), _defineProperty(_classNames, "".concat(prefixCls, "-treenode-checkbox-checked"), checked), _defineProperty(_classNames, "".concat(prefixCls, "-treenode-checkbox-indeterminate"), halfChecked), _defineProperty(_classNames, "".concat(prefixCls, "-treenode-selected"), selected), _defineProperty(_classNames, "".concat(prefixCls, "-treenode-loading"), loading), _defineProperty(_classNames, 'drag-over', !disabled && dragOver), _defineProperty(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), _defineProperty(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), _defineProperty(_classNames, 'filter-node', filterTreeNode && filterTreeNode(this)), _classNames)),
+ style: style,
+ role: "treeitem",
+ onDragEnter: draggable ? this.onDragEnter : undefined,
+ onDragOver: draggable ? this.onDragOver : undefined,
+ onDragLeave: draggable ? this.onDragLeave : undefined,
+ onDrop: draggable ? this.onDrop : undefined,
+ onDragEnd: draggable ? this.onDragEnd : undefined
+ }, dataOrAriaAttributeProps), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector(), this.renderChildren());
+ }
+ }]);
+
+ return TreeNode;
+ }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
+
+ TreeNode.propTypes = {
+ eventKey: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ style: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
+ onSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ // By parent
+ expanded: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ selected: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ checked: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ loaded: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ loading: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ halfChecked: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
+ title: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
+ pos: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ dragOver: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ dragOverGapTop: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ dragOverGapBottom: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ // By user
+ isLeaf: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ checkable: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ selectable: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ disabled: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ disableCheckbox: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ icon: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),
+ switcherIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])
+ };
+ Object(__WEBPACK_IMPORTED_MODULE_5_react_lifecycles_compat__["polyfill"])(TreeNode);
+
+ var ContextTreeNode = function ContextTreeNode(props) {
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](__WEBPACK_IMPORTED_MODULE_6__contextTypes__["a" /* TreeContext */].Consumer, null, function (context) {
+ return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](TreeNode, Object.assign({}, props, {
+ context: context
+ }));
+ });
+ };
+
+ ContextTreeNode.defaultProps = {
+ title: defaultTitle
+ };
+ ContextTreeNode.isTreeNode = 1;
+
+ /* harmony default export */ __webpack_exports__["a"] = (ContextTreeNode);
+
+ /***/ }),
+ /* 535 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MotionPropTypes; });
+ /* unused harmony export genCSSMotion */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty__ = __webpack_require__(86);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass__ = __webpack_require__(55);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__ = __webpack_require__(10);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_lifecycles_compat__ = __webpack_require__(14);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_findDOMNode__ = __webpack_require__(488);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_classnames__ = __webpack_require__(2);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_classnames__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_raf__ = __webpack_require__(36);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_raf___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_raf__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__util_motion__ = __webpack_require__(536);
+
+
+
+
+
+
+ /* eslint-disable react/default-props-match-prop-types, react/no-multi-comp */
+
+
+
+
+
+
+
+
+ var STATUS_NONE = 'none';
+ var STATUS_APPEAR = 'appear';
+ var STATUS_ENTER = 'enter';
+ var STATUS_LEAVE = 'leave';
+
+ var MotionPropTypes = {
+ eventProps: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object, // Internal usage. Only pass by CSSMotionList
+ visible: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ children: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ motionName: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object]),
+ motionAppear: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ motionEnter: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ motionLeave: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ motionLeaveImmediately: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool, // Trigger leave motion immediately
+ motionDeadline: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.number,
+ removeOnLeave: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,
+ leavedClassName: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,
+ onAppearStart: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onAppearActive: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onAppearEnd: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onEnterStart: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onEnterActive: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onEnterEnd: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onLeaveStart: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onLeaveActive: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func,
+ onLeaveEnd: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func
+ };
+
+ /**
+ * `transitionSupport` is used for none transition test case.
+ * Default we use browser transition event support check.
+ */
+ function genCSSMotion(config) {
+ var transitionSupport = config;
+ var forwardRef = !!__WEBPACK_IMPORTED_MODULE_6_react___default.a.forwardRef;
+
+ if (typeof config === 'object') {
+ transitionSupport = config.transitionSupport;
+ forwardRef = 'forwardRef' in config ? config.forwardRef : forwardRef;
+ }
+
+ function isSupportTransition(props) {
+ return !!(props.motionName && transitionSupport);
+ }
+
+ var CSSMotion = function (_React$Component) {
+ __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default()(CSSMotion, _React$Component);
+
+ function CSSMotion() {
+ __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, CSSMotion);
+
+ var _this = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default()(this, (CSSMotion.__proto__ || Object.getPrototypeOf(CSSMotion)).call(this));
+
+ _this.onDomUpdate = function () {
+ var _this$state = _this.state,
+ status = _this$state.status,
+ newStatus = _this$state.newStatus;
+ var _this$props = _this.props,
+ onAppearStart = _this$props.onAppearStart,
+ onEnterStart = _this$props.onEnterStart,
+ onLeaveStart = _this$props.onLeaveStart,
+ onAppearActive = _this$props.onAppearActive,
+ onEnterActive = _this$props.onEnterActive,
+ onLeaveActive = _this$props.onLeaveActive,
+ motionAppear = _this$props.motionAppear,
+ motionEnter = _this$props.motionEnter,
+ motionLeave = _this$props.motionLeave;
+
+
+ if (!isSupportTransition(_this.props)) {
+ return;
+ }
+
+ // Event injection
+ var $ele = _this.getElement();
+ if (_this.$cacheEle !== $ele) {
+ _this.removeEventListener(_this.$cacheEle);
+ _this.addEventListener($ele);
+ _this.$cacheEle = $ele;
+ }
+
+ // Init status
+ if (newStatus && status === STATUS_APPEAR && motionAppear) {
+ _this.updateStatus(onAppearStart, null, null, function () {
+ _this.updateActiveStatus(onAppearActive, STATUS_APPEAR);
+ });
+ } else if (newStatus && status === STATUS_ENTER && motionEnter) {
+ _this.updateStatus(onEnterStart, null, null, function () {
+ _this.updateActiveStatus(onEnterActive, STATUS_ENTER);
+ });
+ } else if (newStatus && status === STATUS_LEAVE && motionLeave) {
+ _this.updateStatus(onLeaveStart, null, null, function () {
+ _this.updateActiveStatus(onLeaveActive, STATUS_LEAVE);
+ });
+ }
+ };
+
+ _this.onMotionEnd = function (event) {
+ var _this$state2 = _this.state,
+ status = _this$state2.status,
+ statusActive = _this$state2.statusActive;
+ var _this$props2 = _this.props,
+ onAppearEnd = _this$props2.onAppearEnd,
+ onEnterEnd = _this$props2.onEnterEnd,
+ onLeaveEnd = _this$props2.onLeaveEnd;
+
+ if (status === STATUS_APPEAR && statusActive) {
+ _this.updateStatus(onAppearEnd, { status: STATUS_NONE }, event);
+ } else if (status === STATUS_ENTER && statusActive) {
+ _this.updateStatus(onEnterEnd, { status: STATUS_NONE }, event);
+ } else if (status === STATUS_LEAVE && statusActive) {
+ _this.updateStatus(onLeaveEnd, { status: STATUS_NONE }, event);
+ }
+ };
+
+ _this.setNodeRef = function (node) {
+ var internalRef = _this.props.internalRef;
+
+ _this.node = node;
+
+ if (typeof internalRef === 'function') {
+ internalRef(node);
+ } else if (internalRef && 'current' in internalRef) {
+ internalRef.current = node;
+ }
+ };
+
+ _this.getElement = function () {
+ try {
+ return Object(__WEBPACK_IMPORTED_MODULE_9_rc_util_es_Dom_findDOMNode__["a" /* default */])(_this.node || _this);
+ } catch (e) {
+ /**
+ * Fallback to cache element.
+ * This is only happen when `motionDeadline` trigger but element removed.
+ */
+ return _this.$cacheEle;
+ }
+ };
+
+ _this.addEventListener = function ($ele) {
+ if (!$ele) return;
+
+ $ele.addEventListener(__WEBPACK_IMPORTED_MODULE_12__util_motion__["d" /* transitionEndName */], _this.onMotionEnd);
+ $ele.addEventListener(__WEBPACK_IMPORTED_MODULE_12__util_motion__["a" /* animationEndName */], _this.onMotionEnd);
+ };
+
+ _this.removeEventListener = function ($ele) {
+ if (!$ele) return;
+
+ $ele.removeEventListener(__WEBPACK_IMPORTED_MODULE_12__util_motion__["d" /* transitionEndName */], _this.onMotionEnd);
+ $ele.removeEventListener(__WEBPACK_IMPORTED_MODULE_12__util_motion__["a" /* animationEndName */], _this.onMotionEnd);
+ };
+
+ _this.updateStatus = function (styleFunc, additionalState, event, callback) {
+ var statusStyle = styleFunc ? styleFunc(_this.getElement(), event) : null;
+
+ if (statusStyle === false || _this._destroyed) return;
+
+ var nextStep = void 0;
+ if (callback) {
+ nextStep = function nextStep() {
+ _this.nextFrame(callback);
+ };
+ }
+
+ _this.setState(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({
+ statusStyle: typeof statusStyle === 'object' ? statusStyle : null,
+ newStatus: false
+ }, additionalState), nextStep); // Trigger before next frame & after `componentDidMount`
+ };
+
+ _this.updateActiveStatus = function (styleFunc, currentStatus) {
+ // `setState` use `postMessage` to trigger at the end of frame.
+ // Let's use requestAnimationFrame to update new state in next frame.
+ _this.nextFrame(function () {
+ var status = _this.state.status;
+
+ if (status !== currentStatus) return;
+
+ var motionDeadline = _this.props.motionDeadline;
+
+
+ _this.updateStatus(styleFunc, { statusActive: true });
+
+ if (motionDeadline > 0) {
+ setTimeout(function () {
+ _this.onMotionEnd({
+ deadline: true
+ });
+ }, motionDeadline);
+ }
+ });
+ };
+
+ _this.nextFrame = function (func) {
+ _this.cancelNextFrame();
+ _this.raf = __WEBPACK_IMPORTED_MODULE_11_raf___default()(func);
+ };
+
+ _this.cancelNextFrame = function () {
+ if (_this.raf) {
+ __WEBPACK_IMPORTED_MODULE_11_raf___default.a.cancel(_this.raf);
+ _this.raf = null;
+ }
+ };
+
+ _this.state = {
+ status: STATUS_NONE,
+ statusActive: false,
+ newStatus: false,
+ statusStyle: null
+ };
+ _this.$cacheEle = null;
+ _this.node = null;
+ _this.raf = null;
+ return _this;
+ }
+
+ __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass___default()(CSSMotion, [{
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ this.onDomUpdate();
+ }
+ }, {
+ key: 'componentDidUpdate',
+ value: function componentDidUpdate() {
+ this.onDomUpdate();
+ }
+ }, {
+ key: 'componentWillUnmount',
+ value: function componentWillUnmount() {
+ this._destroyed = true;
+ this.removeEventListener(this.$cacheEle);
+ this.cancelNextFrame();
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var _classNames;
+
+ var _state = this.state,
+ status = _state.status,
+ statusActive = _state.statusActive,
+ statusStyle = _state.statusStyle;
+ var _props = this.props,
+ children = _props.children,
+ motionName = _props.motionName,
+ visible = _props.visible,
+ removeOnLeave = _props.removeOnLeave,
+ leavedClassName = _props.leavedClassName,
+ eventProps = _props.eventProps;
+
+
+ if (!children) return null;
+
+ if (status === STATUS_NONE || !isSupportTransition(this.props)) {
+ if (visible) {
+ return children(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, eventProps), this.setNodeRef);
+ } else if (!removeOnLeave) {
+ return children(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, eventProps, { className: leavedClassName }), this.setNodeRef);
+ }
+
+ return null;
+ }
+
+ return children(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, eventProps, {
+ className: __WEBPACK_IMPORTED_MODULE_10_classnames___default()((_classNames = {}, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_classNames, Object(__WEBPACK_IMPORTED_MODULE_12__util_motion__["b" /* getTransitionName */])(motionName, status), status !== STATUS_NONE), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_classNames, Object(__WEBPACK_IMPORTED_MODULE_12__util_motion__["b" /* getTransitionName */])(motionName, status + '-active'), status !== STATUS_NONE && statusActive), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_classNames, motionName, typeof motionName === 'string'), _classNames)),
+ style: statusStyle
+ }), this.setNodeRef);
+ }
+ }], [{
+ key: 'getDerivedStateFromProps',
+ value: function getDerivedStateFromProps(props, _ref) {
+ var prevProps = _ref.prevProps,
+ prevStatus = _ref.status;
+
+ if (!isSupportTransition(props)) return {};
+
+ var visible = props.visible,
+ motionAppear = props.motionAppear,
+ motionEnter = props.motionEnter,
+ motionLeave = props.motionLeave,
+ motionLeaveImmediately = props.motionLeaveImmediately;
+
+ var newState = {
+ prevProps: props
+ };
+
+ // Clean up status if prop set to false
+ if (prevStatus === STATUS_APPEAR && !motionAppear || prevStatus === STATUS_ENTER && !motionEnter || prevStatus === STATUS_LEAVE && !motionLeave) {
+ newState.status = STATUS_NONE;
+ newState.statusActive = false;
+ newState.newStatus = false;
+ }
+
+ // Appear
+ if (!prevProps && visible && motionAppear) {
+ newState.status = STATUS_APPEAR;
+ newState.statusActive = false;
+ newState.newStatus = true;
+ }
+
+ // Enter
+ if (prevProps && !prevProps.visible && visible && motionEnter) {
+ newState.status = STATUS_ENTER;
+ newState.statusActive = false;
+ newState.newStatus = true;
+ }
+
+ // Leave
+ if (prevProps && prevProps.visible && !visible && motionLeave || !prevProps && motionLeaveImmediately && !visible && motionLeave) {
+ newState.status = STATUS_LEAVE;
+ newState.statusActive = false;
+ newState.newStatus = true;
+ }
+
+ return newState;
+ }
+ }]);
+
+ return CSSMotion;
+ }(__WEBPACK_IMPORTED_MODULE_6_react___default.a.Component);
+
+ CSSMotion.propTypes = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, MotionPropTypes, {
+
+ internalRef: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object, __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func])
+ });
+ CSSMotion.defaultProps = {
+ visible: true,
+ motionEnter: true,
+ motionAppear: true,
+ motionLeave: true,
+ removeOnLeave: true
+ };
+
+
+ Object(__WEBPACK_IMPORTED_MODULE_8_react_lifecycles_compat__["polyfill"])(CSSMotion);
+
+ if (!forwardRef) {
+ return CSSMotion;
+ }
+
+ return __WEBPACK_IMPORTED_MODULE_6_react___default.a.forwardRef(function (props, ref) {
+ return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(CSSMotion, __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({ internalRef: ref }, props));
+ });
+ }
+
+ /* harmony default export */ __webpack_exports__["b"] = (genCSSMotion(__WEBPACK_IMPORTED_MODULE_12__util_motion__["c" /* supportTransition */]));
+
+ /***/ }),
+ /* 536 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* unused harmony export getVendorPrefixes */
+ /* unused harmony export getVendorPrefixedEventName */
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return animationEndName; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return transitionEndName; });
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return supportTransition; });
+ /* harmony export (immutable) */ __webpack_exports__["b"] = getTransitionName;
+ var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
+
+ // ================= Transition =================
+ // Event wrapper. Copy from react source code
+ function makePrefixMap(styleProp, eventName) {
+ var prefixes = {};
+
+ prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
+ prefixes['Webkit' + styleProp] = 'webkit' + eventName;
+ prefixes['Moz' + styleProp] = 'moz' + eventName;
+ prefixes['ms' + styleProp] = 'MS' + eventName;
+ prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();
+
+ return prefixes;
+ }
+
+ function getVendorPrefixes(domSupport, win) {
+ var prefixes = {
+ animationend: makePrefixMap('Animation', 'AnimationEnd'),
+ transitionend: makePrefixMap('Transition', 'TransitionEnd')
+ };
+
+ if (domSupport) {
+ if (!('AnimationEvent' in win)) {
+ delete prefixes.animationend.animation;
+ }
+
+ if (!('TransitionEvent' in win)) {
+ delete prefixes.transitionend.transition;
+ }
+ }
+
+ return prefixes;
+ }
+
+ var vendorPrefixes = getVendorPrefixes(canUseDOM, typeof window !== 'undefined' ? window : {});
+
+ var style = {};
+
+ if (canUseDOM) {
+ style = document.createElement('div').style;
+ }
+
+ var prefixedEventNames = {};
+
+ function getVendorPrefixedEventName(eventName) {
+ if (prefixedEventNames[eventName]) {
+ return prefixedEventNames[eventName];
+ }
+
+ var prefixMap = vendorPrefixes[eventName];
+
+ if (prefixMap) {
+ var stylePropList = Object.keys(prefixMap);
+ var len = stylePropList.length;
+ for (var i = 0; i < len; i += 1) {
+ var styleProp = stylePropList[i];
+ if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {
+ prefixedEventNames[eventName] = prefixMap[styleProp];
+ return prefixedEventNames[eventName];
+ }
+ }
+ }
+
+ return '';
+ }
+
+ var animationEndName = getVendorPrefixedEventName('animationend');
+ var transitionEndName = getVendorPrefixedEventName('transitionend');
+ var supportTransition = !!(animationEndName && transitionEndName);
+
+ function getTransitionName(transitionName, transitionType) {
+ if (!transitionName) return null;
+
+ if (typeof transitionName === 'object') {
+ var type = transitionType.replace(/-\w/g, function (match) {
+ return match[1].toUpperCase();
+ });
+ return transitionName[type];
+ }
+
+ return transitionName + '-' + transitionType;
+ }
+
+ /***/ }),
+ /* 537 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TreeContext; });
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ant_design_create_react_context__ = __webpack_require__(1668);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ant_design_create_react_context___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__ant_design_create_react_context__);
+
+ var TreeContext = __WEBPACK_IMPORTED_MODULE_0__ant_design_create_react_context___default()(null);
+
+ /***/ }),
+ /* 538 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Tree__ = __webpack_require__(1673);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TreeNode__ = __webpack_require__(534);
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_1__TreeNode__["a"]; });
+
+
+ var Tree = __WEBPACK_IMPORTED_MODULE_0__Tree__["a" /* default */];
+ Tree.TreeNode = __WEBPACK_IMPORTED_MODULE_1__TreeNode__["a" /* default */];
+
+ /* harmony default export */ __webpack_exports__["b"] = (Tree);
+
+ /***/ }),
+ /* 539 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* unused harmony export searchContextTypes */
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__ = __webpack_require__(14);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(34);
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+ function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+ /**
+ * Since search box is in different position with different mode.
+ * - Single: in the popup box
+ * - multiple: in the selector
+ * Move the code as a SearchInput for easy management.
+ */
+
+
+
+
+ var searchContextTypes = {
+ onSearchInputChange: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired
+ };
+
+ var SearchInput =
+ /*#__PURE__*/
+ function (_React$Component) {
+ _inherits(SearchInput, _React$Component);
+
+ function SearchInput() {
+ var _this;
+
+ _classCallCheck(this, SearchInput);
+
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(SearchInput).call(this));
+
+ _defineProperty(_assertThisInitialized(_this), "alignInputWidth", function () {
+ _this.inputRef.current.style.width = "".concat(_this.mirrorInputRef.current.clientWidth, "px");
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "focus", function (isDidMount) {
+ if (_this.inputRef.current) {
+ _this.inputRef.current.focus();
+
+ if (isDidMount) {
+ setTimeout(function () {
+ _this.inputRef.current.focus();
+ }, 0);
+ }
+ }
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "blur", function () {
+ if (_this.inputRef.current) {
+ _this.inputRef.current.blur();
+ }
+ });
+
+ _this.inputRef = Object(__WEBPACK_IMPORTED_MODULE_3__util__["g" /* createRef */])();
+ _this.mirrorInputRef = Object(__WEBPACK_IMPORTED_MODULE_3__util__["g" /* createRef */])();
+ return _this;
+ }
+
+ _createClass(SearchInput, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props = this.props,
+ open = _this$props.open,
+ needAlign = _this$props.needAlign;
+
+ if (needAlign) {
+ this.alignInputWidth();
+ }
+
+ if (open) {
+ this.focus(true);
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props2 = this.props,
+ open = _this$props2.open,
+ searchValue = _this$props2.searchValue,
+ needAlign = _this$props2.needAlign;
+
+ if (open && prevProps.open !== open) {
+ this.focus();
+ }
+
+ if (needAlign && searchValue !== prevProps.searchValue) {
+ this.alignInputWidth();
+ }
+ }
+ /**
+ * `scrollWidth` is not correct in IE, do the workaround.
+ * ref: https://github.com/react-component/tree-select/issues/65
+ */
+
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props3 = this.props,
+ searchValue = _this$props3.searchValue,
+ prefixCls = _this$props3.prefixCls,
+ disabled = _this$props3.disabled,
+ renderPlaceholder = _this$props3.renderPlaceholder,
+ open = _this$props3.open,
+ ariaId = _this$props3.ariaId;
+ var _this$context$rcTreeS = this.context.rcTreeSelect,
+ onSearchInputChange = _this$context$rcTreeS.onSearchInputChange,
+ onSearchInputKeyDown = _this$context$rcTreeS.onSearchInputKeyDown;
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ className: "".concat(prefixCls, "-search__field__wrap")
+ }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("input", {
+ type: "text",
+ ref: this.inputRef,
+ onChange: onSearchInputChange,
+ onKeyDown: onSearchInputKeyDown,
+ value: searchValue,
+ disabled: disabled,
+ className: "".concat(prefixCls, "-search__field"),
+ "aria-label": "filter select",
+ "aria-autocomplete": "list",
+ "aria-controls": open ? ariaId : undefined,
+ "aria-multiline": "false"
+ }), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", {
+ ref: this.mirrorInputRef,
+ className: "".concat(prefixCls, "-search__field__mirror")
+ }, searchValue, "\xA0"), renderPlaceholder ? renderPlaceholder() : null);
+ }
+ }]);
+
+ return SearchInput;
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
+
+ _defineProperty(SearchInput, "propTypes", {
+ open: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ searchValue: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
+ disabled: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ renderPlaceholder: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
+ needAlign: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
+ ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string
+ });
+
+ _defineProperty(SearchInput, "contextTypes", {
+ rcTreeSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape(_objectSpread({}, searchContextTypes))
+ });
+
+ Object(__WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__["polyfill"])(SearchInput);
+ /* harmony default export */ __webpack_exports__["a"] = (SearchInput);
+
+ /***/ }),
+ /* 540 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* unused harmony export genArrProps */
+ /* harmony export (immutable) */ __webpack_exports__["a"] = valueProp;
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(1);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(34);
+
+
+ var internalValProp = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number]);
+ function genArrProps(propType) {
+ return __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([propType, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.arrayOf(propType)]);
+ }
+ /**
+ * Origin code check `multiple` is true when `treeCheckStrictly` & `labelInValue`.
+ * But in process logic is already cover to array.
+ * Check array is not necessary. Let's simplify this check logic.
+ */
+
+ function valueProp() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ var props = args[0],
+ propName = args[1],
+ Component = args[2];
+
+ if (Object(__WEBPACK_IMPORTED_MODULE_1__util__["o" /* isLabelInValue */])(props)) {
+ var _err = genArrProps(__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
+ label: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.node,
+ value: internalValProp
+ })).apply(void 0, args);
+
+ if (_err) {
+ return new Error("Invalid prop `".concat(propName, "` supplied to `").concat(Component, "`. ") + "You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead.");
+ }
+
+ return null;
+ }
+
+ var err = genArrProps(internalValProp).apply(void 0, args);
+
+ if (err) {
+ return new Error("Invalid prop `".concat(propName, "` supplied to `").concat(Component, "`. ") + "You should use string or [string] instead.");
+ }
+
+ return null;
+ }
+
+ /***/ }),
+ /* 541 */
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+ "use strict";
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rc_tree__ = __webpack_require__(538);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__propTypes__ = __webpack_require__(540);
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+
+
+
+ /**
+ * SelectNode wrapped the tree node.
+ * Let's use SelectNode instead of TreeNode
+ * since TreeNode is so confuse here.
+ */
+
+ var SelectNode = function SelectNode(props) {
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_rc_tree__["a" /* TreeNode */], props);
+ };
+
+ SelectNode.propTypes = _objectSpread({}, __WEBPACK_IMPORTED_MODULE_1_rc_tree__["a" /* TreeNode */].propTypes, {
+ value: __WEBPACK_IMPORTED_MODULE_2__propTypes__["a" /* valueProp */]
+ }); // Let Tree trade as TreeNode to reuse this for performance saving.
+
+ SelectNode.isTreeNode = 1;
+ /* harmony default export */ __webpack_exports__["a"] = (SelectNode);
+
+ /***/ }),
+ /* 542 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ var Button = __webpack_require__(543);
+ var Badge = __webpack_require__(546);
+ var Alert = __webpack_require__(550);
+ var ButtonGroup = __webpack_require__(555);
+ var Label = __webpack_require__(561);
+ var FormControl = __webpack_require__(565);
+ var FormGroup = __webpack_require__(569);
+ var Form = __webpack_require__(573);
+ var Layout = __webpack_require__(677);
+ var InputGroup = __webpack_require__(682);
+ var InputNumber = __webpack_require__(688);
+ var Checkbox = __webpack_require__(727);
+ var Pagination = __webpack_require__(731);
+ var ProgressBar = __webpack_require__(843);
+ var Radio = __webpack_require__(847);
+ var Switch = __webpack_require__(852);
+ var Tooltip = __webpack_require__(856);
+ var Dropdown = __webpack_require__(891);
+ var Panel = __webpack_require__(895);
+ var PanelGroup = __webpack_require__(928);
+ var SearchPanel = __webpack_require__(929);
+ var Transition = __webpack_require__(966);
+ var Navbar = __webpack_require__(984);
+ var Animate = __webpack_require__(997);
+ var Select = __webpack_require__(999);
+ var Tile = __webpack_require__(1001);
+ var Icon = __webpack_require__(1005);
+ var Menu = __webpack_require__(1007);
+ var Upload = __webpack_require__(1033);
+ var Breadcrumb = __webpack_require__(1143);
+
+ var Message = __webpack_require__(1148);
+ var Notification = __webpack_require__(1150);
+ var Popconfirm = __webpack_require__(1172);
+ var Modal = __webpack_require__(1198);
+ var Tabs = __webpack_require__(1200);
+ var Cascader = __webpack_require__(1221);
+ var Loading = __webpack_require__(1252);
+ var Table = __webpack_require__(1256);
+ var Tree = __webpack_require__(1318);
+ var Clipboard = __webpack_require__(1338);
+
+ var Rate = __webpack_require__(1398);
+ var Step = __webpack_require__(1408);
+ var Timeline = __webpack_require__(1414);
+ var Transfer = __webpack_require__(1418);
+ var BackTop = __webpack_require__(1451);
+ var Collapse = __webpack_require__(1455);
+
+ var Slider = __webpack_require__(1474);
+ var AutoComplete = __webpack_require__(1508);
+
+ var LoadingState = __webpack_require__(1514);
+ var Locale = __webpack_require__(1522);
+ var Popover = __webpack_require__(1526);
+ var Anchor = __webpack_require__(1565);
+ var ColorPicker = __webpack_require__(1570);
+ var Tag = __webpack_require__(1631);
+ var Affix = __webpack_require__(1635);
+ var Drawer = __webpack_require__(1640);
+ var TreeSelect = __webpack_require__(1652);
+ var PageLayout = __webpack_require__(1683);
+ var SvgIcon = __webpack_require__(1696);
+ // var Carousel = require('./lib/Carousel');
+
+ var TinperBee = {
+ version: '2.3.6',
+ Slider: Slider,
+ AutoComplete: AutoComplete,
+ // Carousel:Carousel,
+ Button: Button,
+ Badge: Badge,
+ Alert: Alert,
+ ButtonGroup: ButtonGroup,
+ Label: Label,
+ FormControl: FormControl,
+ FormGroup: FormGroup,
+ Form: Form,
+ InputGroup: InputGroup,
+ InputNumber: InputNumber,
+ Checkbox: Checkbox,
+ Pagination: Pagination,
+ ProgressBar: ProgressBar,
+ Radio: Radio,
+ Switch: Switch,
+ Tooltip: Tooltip,
+ Con: Layout.Con,
+ Row: Layout.Row,
+ Col: Layout.Col,
+ Dropdown: Dropdown,
+ Panel: Panel,
+ PanelGroup: PanelGroup,
+ Transition: Transition,
+ Select: Select,
+ Animate: Animate,
+ Icon: Icon,
+ Menu: Menu,
+ Breadcrumb: Breadcrumb,
+ Upload: Upload,
+ Tile: Tile,
+ Navbar: Navbar,
+ Message: Message,
+ Notification: Notification,
+ Popconfirm: Popconfirm,
+ Modal: Modal,
+ Tabs: Tabs,
+ Cascader: Cascader,
+ Loading: Loading,
+ Table: Table,
+ Tree: Tree,
+ Clipboard: Clipboard,
+ Rate: Rate,
+ Step: Step,
+ Timeline: Timeline,
+ Transfer: Transfer,
+ BackTop: BackTop,
+ Collapse: Collapse,
+ LoadingState: LoadingState,
+ Locale: Locale,
+ Popover: Popover,
+ Anchor: Anchor,
+ Tag: Tag,
+ ColorPicker: ColorPicker,
+ SearchPanel: SearchPanel,
+ Affix: Affix,
+ Drawer: Drawer,
+ TreeSelect: TreeSelect,
+ PageLayout: PageLayout,
+ SvgIcon: SvgIcon,
+ };
+
+ module.exports = TinperBee;
+
+
+ /***/ }),
+ /* 543 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ __webpack_require__(544);
+ module.exports = __webpack_require__(213);
+
+
+ /***/ }),
+ /* 544 */
+ /***/ (function(module, exports) {
+
+ // removed by extract-text-webpack-plugin
+
+ /***/ }),
+ /* 545 */
+ /***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
+
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _react = __webpack_require__(0);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactDom = __webpack_require__(3);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _propTypes = __webpack_require__(1);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _classnames = __webpack_require__(2);
+
+ var _classnames2 = _interopRequireDefault(_classnames);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
+
+ var propTypes = {
+ /**
+ * @title 尺寸
+ */
+ size: _propTypes2["default"].oneOf(['sm', 'md', 'xg', 'lg']),
+ /**
+ * @title 样式
+ */
+ style: _propTypes2["default"].object,
+ /**
+ * @title 形状
+ */
+ shape: _propTypes2["default"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),
+
+ bordered: _propTypes2["default"].bool,
+ /**
+ * @title 类型
+ */
+ colors: _propTypes2["default"].oneOf(['primary', 'secondary', 'accent', 'success', 'info', 'warning', 'danger', 'dark', 'light', 'default']),
+ /**
+ * @title 是否禁用
+ * @veIgnore
+ */
+ disabled: _propTypes2["default"].bool,
+ /**
+ * @title 类名
+ * @veIgnore
+ */
+ className: _propTypes2["default"].string,
+
+ /**
+ * @title