{"version":3,"file":"index-course-list.js","mappings":"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CF;AAEA,+DAAeD,WAAW;;;;;;;;;;;;AC5B5B;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;ACNA,mGAA0C;;;;;;;;;;;;ACA7B;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;;AAEF,iCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,+DAA+D,yDAAyD,qEAAqE,6DAA6D,wBAAwB;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,YAAY,mBAAO,CAAC,qDAAS;;AAE7B,iBAAiB,mBAAO,CAAC,+DAAc;;AAEvC,uCAAuC,uCAAuC;;AAE9E,kDAAkD,0CAA0C;;AAE5F,kDAAkD,aAAa,yFAAyF;;AAExJ,2CAA2C,+DAA+D,uGAAuG,yEAAyE,eAAe,0EAA0E,GAAG;;AAEtX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA,kBAAe;;;;;;;;;;;AC7EF;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;;AAEF,oDAAoD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,iCAAiC;;AAEhP,iCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,+DAA+D,yDAAyD,qEAAqE,6DAA6D,wBAAwB;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,YAAY,mBAAO,CAAC,qDAAS;;AAE7B,iBAAiB,mBAAO,CAAC,+DAAc;;AAEvC,uCAAuC,uCAAuC;;AAE9E,+CAA+C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,sBAAsB;;AAE5M,kDAAkD,0CAA0C;;AAE5F,kDAAkD,aAAa,yFAAyF;;AAExJ,2CAA2C,+DAA+D,uGAAuG,yEAAyE,eAAe,0EAA0E,GAAG;;AAEtX;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA,kBAAe;;;;;;;;;;;ACrJF;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;;AAEF,qGAAqG,qBAAqB,mBAAmB;;AAE7I,mCAAmC,0BAA0B,0CAA0C,gBAAgB,OAAO,oBAAoB,eAAe,OAAO;;AAExK,eAAe,gBAAgB;AAC/B;AACA;AACA;;AAEA,cAAc,eAAe;AAC7B;AACA;AACA,GAAG;AACH;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA,mBAAmB,oBAAoB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,qBAAqB,sBAAsB;AAC3C;AACA;;AAEA,aAAa,cAAc;AAC3B;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA,sDAAsD,YAAY;AAClE,mCAAmC;;AAEnC;;AAEA;AACA;;;;;;;;;;;ACrHa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,eAAe,GAAG,mBAAmB;;AAErC,gBAAgB,mBAAO,CAAC,kFAAuB;;AAE/C;;AAEA,YAAY,mBAAO,CAAC,0EAAmB;;AAEvC;;AAEA,uCAAuC,uCAAuC;;AAE9E,kBAAkB,mBAAmB;AACrC,cAAc,eAAe;;;;;;;;;;;AClBhB;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,yBAAyB,GAAG,oBAAoB,GAAG,iBAAiB;;AAEpE,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC,uCAAuC,uCAAuC;;AAE9E,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,yBAAyB;;;;;;;;;;ACnCjD;AACA,EAAE,KAA4D,oBAAoB,mBAAO,CAAC,oBAAO;AACjG,EAAE,CACwE;AAC1E,CAAC,oCAAoC;;AAErC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4EAA4E,aAAa;AACzF;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,WAAW;;AAEpC;AACA,+CAA+C,mBAAmB,IAAI,aAAa;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gFAAgF,eAAe;AAC/F;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA,OAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,mBAAmB,uBAAuB;AAC/C;AACA;AACA,KAAK;AACL;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,OAAO;AACP,sCAAsC;;AAEtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,OAAO;AACP,MAAM,WAAW;AACjB;;AAEA;AACA;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN,sBAAsB,gBAAgB;AACtC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,8FAA8F,aAAa;AAC3G;AACA;;AAEA;AACA,kCAAkC;;AAElC,qDAAqD;;AAErD,qCAAqC,GAAG;;AAExC,yDAAyD;;AAEzD,4CAA4C;AAC5C;AACA;AACA,KAAK,IAAI;;AAET;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;;;AAG9D,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ;;;AAGR;AACA;AACA,OAAO;AACP,KAAK,6CAA6C;;AAElD;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,yCAAyC;;;AAGzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL,qCAAqC;AACrC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK,KAAK;;AAEV;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,MAAM;;;AAGN;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,+CAA+C;;AAE/C;AACA;AACA,KAAK;AACL,qCAAqC;;AAErC;AACA;AACA,KAAK;AACL,sEAAsE;;AAEtE;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;;AAE3D;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA,SAAS,GAAG;;AAEZ;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL,kFAAkF;AAClF;;AAEA;AACA;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,SAAS,GAAG;;AAEZ;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO,GAAG;;AAEV;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB,WAAW;AACX;;AAEA;AACA;AACA;AACA,6DAA6D;;AAE7D,yBAAyB;;AAEzB,8BAA8B;;AAE9B,4BAA4B;;AAE5B,4BAA4B;;AAE5B,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA,WAAW,GAAG;;AAEd;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;;;AAGR;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,0BAA0B;AAC1B;AACA,SAAS;AACT;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAA0B;AAC1B,+BAA+B,iCAAiC;AAChE,SAAS;AACT,QAAQ;AACR;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,6EAA6E;AAC7E;AACA;AACA,OAAO;AACP,6FAA6F;;AAE7F;AACA,0BAA0B;AAC1B;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,SAAS;AACT;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,WAAW;;AAEX,kFAAkF;;AAElF;AACA;AACA;;AAEA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,wDAAwD;;AAExD,8NAA8N;;AAE9N;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iFAAiF;;AAEjF;AACA;AACA;AACA,YAAY;AACZ;;;AAGA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,GAAG;AACV;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,qFAAqF;AACrF,yEAAyE;;AAEzE;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,eAAe;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT;;AAEA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA,SAAS;AACT,OAAO,GAAG;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;;AAGZ;;AAEA;AACA;AACA;AACA;AACA,aAAa,GAAG;;AAEhB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;;AAEA;AACA,aAAa;AACb;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,aAAa;AACb,WAAW;AACX;;AAEA,+CAA+C;;AAE/C,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA,oDAAoD;;AAEpD,wEAAwE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,kFAAkF;;AAElF,qEAAqE;;AAErE;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI;AACT;;AAEA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA,qBAAqB;AACrB;;AAEA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAQ;;;AAGR;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,OAAO;AACP,gDAAgD;;AAEhD;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA,2BAA2B;;AAE3B;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,SAAS,IAAI;;AAEb;AACA,QAAQ;AACR;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,aAAa;AACb;;AAEA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,SAAS;AACT;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,eAAe;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,eAAe;;AAEpB,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,+BAA+B;;AAE/B;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,uEAAuE;;AAEvE;AACA;AACA,YAAY;AACZ;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA,SAAS,IAAI;;AAEb;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT;;AAEA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;;AAEA,2CAA2C;;AAE3C;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,SAAS;AACT;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yCAAyC;;AAEzC;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,OAAO;AACP,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;AACxB,6BAA6B,iCAAiC;AAC9D,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP,wBAAwB;AACxB,6BAA6B,iCAAiC,iCAAiC;AAC/F,gCAAgC,8BAA8B,iBAAiB;AAC/E,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kDAAkD;;AAElD,0CAA0C;;AAE1C,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,mCAAmC;AACnC;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,wBAAwB;AACxB,mCAAmC;AACnC,mCAAmC,uCAAuC;AAC1E,SAAS;AACT,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB,mCAAmC;AACnC;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8HAA8H;AAC9H;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,sBAAsB;AAClD,SAAS,IAAI;AACb;AACA;;AAEA,4BAA4B,sBAAsB;AAClD,SAAS,IAAI;AACb;AACA;;AAEA,4BAA4B,sBAAsB;AAClD,SAAS,IAAI;AACb;AACA;AACA;AACA,SAAS;AACT,0BAA0B;AAC1B,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,wBAAwB;AACxB,+BAA+B;AAC/B,mCAAmC,mCAAmC;AACtE,SAAS;AACT,OAAO;AACP;;AAEA;AACA,wBAAwB;AACxB,+BAA+B;AAC/B,yBAAyB;AACzB,uBAAuB;AACvB;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,aAAa;;AAE9D,CAAC;AACD;;;;;;;;;;;ACvjJA,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,2IAA6D;AAC/D;;;;;;;;;;;;ACJA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;ACAe;AACf;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;UCbA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA,eAAe,4BAA4B;WAC3C,eAAe;WACf,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA,8CAA8C;;;;;WCA9C;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;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","sources":["webpack://learndash-reports-by-wisdmlabs/./includes/blocks/src/commons/dummy-reports/index.js","webpack://learndash-reports-by-wisdmlabs/./includes/blocks/src/commons/filters/index.js","webpack://learndash-reports-by-wisdmlabs/./includes/blocks/src/commons/loader/index.js","webpack://learndash-reports-by-wisdmlabs/./includes/blocks/src/course-list/index.scss?2189","webpack://learndash-reports-by-wisdmlabs/./node_modules/object-assign/index.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/checkPropTypes.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/index.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/lib/has.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/prop-types/node_modules/react-is/index.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-csv/index.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-csv/lib/components/Download.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-csv/lib/components/Link.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-csv/lib/core.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-csv/lib/index.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-csv/lib/metaProps.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-table/dist/react-table.development.js","webpack://learndash-reports-by-wisdmlabs/./node_modules/react-table/index.js","webpack://learndash-reports-by-wisdmlabs/external window \"React\"","webpack://learndash-reports-by-wisdmlabs/external window \"moment\"","webpack://learndash-reports-by-wisdmlabs/external window [\"wp\",\"element\"]","webpack://learndash-reports-by-wisdmlabs/external window [\"wp\",\"hooks\"]","webpack://learndash-reports-by-wisdmlabs/external window [\"wp\",\"i18n\"]","webpack://learndash-reports-by-wisdmlabs/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://learndash-reports-by-wisdmlabs/webpack/bootstrap","webpack://learndash-reports-by-wisdmlabs/webpack/runtime/compat get default export","webpack://learndash-reports-by-wisdmlabs/webpack/runtime/define property getters","webpack://learndash-reports-by-wisdmlabs/webpack/runtime/hasOwnProperty shorthand","webpack://learndash-reports-by-wisdmlabs/webpack/runtime/make namespace object","webpack://learndash-reports-by-wisdmlabs/./includes/blocks/src/course-list/index-course-list.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { __ } from '@wordpress/i18n';\n\nclass DummyReports extends React.Component {\n\n constructor(props) {\n super(props);\n this.image = undefined!=props.image_path?props.image_path:'#';\n this.url = undefined!=props.url?props.url:'https://wisdmlabs.com/reports-for-learndash/?utm_source=wrld&utm_medium=learner-reports&utm_campaign=Learner-Reports&utm_term=learner-reports#pricing'\n }\n\n render() {\n let dummyContent = '';\n let upgrade_button = '';\n let or_txt = '';\n if (wisdm_ld_reports_common_script_data.is_admin_user) {\n upgrade_button =
{__('Upgrade to PRO', 'learndash-reports-by-wisdmlabs')}
;\n or_txt = {__('OR', 'learndash-reports-by-wisdmlabs')};\n }\n dummyContent =
\n
\n
\n
\n {__('Available in WISDM Reports PRO', 'learndash-reports-by-wisdmlabs')}\n {upgrade_button} {or_txt}\n
{__('Learn More', 'learndash-reports-by-wisdmlabs')}
\n
\n
\n \n
\n
;\n return dummyContent;\n }\n }\n\n export default DummyReports;\n\n\n","import React, { Component } from \"react\";\nimport { __ } from '@wordpress/i18n';\nimport moment from 'moment';\n\nclass WisdmFilters extends React.Component {\n\n constructor(props) {\n super(props);\n if (undefined!=props.request_data) {\n this.category = undefined!=props.request_data.category?props.request_data.category:'';\n this.group = undefined!=props.request_data.group?props.request_data.group:'';\n this.course_name = undefined!=props.request_data.course?props.request_data.course:'';\n this.lesson_name = undefined!=props.request_data.lesson?props.request_data.lesson:'';\n this.topic_name = undefined!=props.request_data.topic?props.request_data.topic:'';\n this.learner_name = undefined!=props.request_data.learner?props.request_data.learner:'';\n this.start_date = undefined!=props.request_data.start_date?props.request_data.start_date:'';\n this.end_date = undefined!=props.request_data.end_date?props.request_data.end_date:'';\n }\n }\n\n\n getElement( label, value ) {\n let html = '';\n if (undefined==value || ''==value) {\n return html;\n }\n\n html =
\n \n \n \n {value}\n \n
{label}: {value}
\n
\n return html;\n }\n\n getDuration(label, start_date, end_date) {\n let html = '';\n if (undefined==start_date || ''==start_date || undefined==end_date || ''==end_date) {\n return html;\n }\n html =
\n \n \n {moment.unix(start_date).format(\"MMM, DD YYYY\")} - {moment.unix(end_date).format(\"MMM, DD YYYY\")}\n
\n return html;\n }\n\n render() {\n \n let filterData = '';\n if (''==this.category && ''==this.group && ''==this.start_date && ''==this.end_date && ''==this.course_name && ''==this.learner_name) {\n filterData = '';\n } else {\n let category = this.getElement('Category', this.category);\n let group = this.getElement('Group', this.group);\n let course = this.getElement('Course', this.course_name);\n let lesson = this.getElement('Lesson', this.lesson_name);\n let topic = this.getElement('Topic', this.topic_name);\n let learner = this.getElement('Learner', this.learner_name);\n let duration = this.getDuration('Duration', this.start_date, this.end_date);\n\n filterData =
\n \n {category}\n {group}\n {course}\n {lesson}\n {topic}\n {learner}\n {duration}\n
;\n }\n return filterData;\n }\n }\n\n export default WisdmFilters;\n","import React, { Component } from \"react\";\nimport { __ } from '@wordpress/i18n';\n\nclass WisdmLoader extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n let loadingData = '';\n let show_text = '';\n if ( true == this.props.text ) {\n show_text = {__( 'Your report is being generated.', 'learndash-reports-by-wisdmlabs' )};\n }\n loadingData =
\n
\n
\n \n \n {show_text}\n
\n
\n
;\n return loadingData;\n }\n }\n\n export default WisdmLoader;\n","// extracted by mini-css-extract-plugin\nexport {};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","module.exports = require('./lib/index.js');\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _core = require('../core');\n\nvar _metaProps = require('../metaProps');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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; }\n\nfunction _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; }\n\nvar defaultProps = {\n target: '_blank'\n};\n\nvar CSVDownload = function (_React$Component) {\n _inherits(CSVDownload, _React$Component);\n\n function CSVDownload(props) {\n _classCallCheck(this, CSVDownload);\n\n var _this = _possibleConstructorReturn(this, (CSVDownload.__proto__ || Object.getPrototypeOf(CSVDownload)).call(this, props));\n\n _this.state = {};\n return _this;\n }\n\n _createClass(CSVDownload, [{\n key: 'buildURI',\n value: function buildURI() {\n return _core.buildURI.apply(undefined, arguments);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n data = _props.data,\n headers = _props.headers,\n separator = _props.separator,\n enclosingCharacter = _props.enclosingCharacter,\n uFEFF = _props.uFEFF,\n target = _props.target,\n specs = _props.specs,\n replace = _props.replace;\n\n this.state.page = window.open(this.buildURI(data, uFEFF, headers, separator, enclosingCharacter), target, specs, replace);\n }\n }, {\n key: 'getWindow',\n value: function getWindow() {\n return this.state.page;\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return CSVDownload;\n}(_react2.default.Component);\n\nCSVDownload.defaultProps = Object.assign(_metaProps.defaultProps, defaultProps);\nCSVDownload.propTypes = _metaProps.propTypes;\nexports.default = CSVDownload;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nvar _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; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _core = require('../core');\n\nvar _metaProps = require('../metaProps');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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; }\n\nfunction _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; }\n\nvar CSVLink = function (_React$Component) {\n _inherits(CSVLink, _React$Component);\n\n function CSVLink(props) {\n _classCallCheck(this, CSVLink);\n\n var _this = _possibleConstructorReturn(this, (CSVLink.__proto__ || Object.getPrototypeOf(CSVLink)).call(this, props));\n\n _this.buildURI = _this.buildURI.bind(_this);\n return _this;\n }\n\n _createClass(CSVLink, [{\n key: 'buildURI',\n value: function buildURI() {\n return _core.buildURI.apply(undefined, arguments);\n }\n }, {\n key: 'handleLegacy',\n value: function handleLegacy(event) {\n var isAsync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (window.navigator.msSaveOrOpenBlob) {\n event.preventDefault();\n\n var _props = this.props,\n data = _props.data,\n headers = _props.headers,\n separator = _props.separator,\n filename = _props.filename,\n enclosingCharacter = _props.enclosingCharacter,\n uFEFF = _props.uFEFF;\n\n\n var csvData = isAsync && typeof data === 'function' ? data() : data;\n\n var blob = new Blob([uFEFF ? '\\uFEFF' : '', (0, _core.toCSV)(csvData, headers, separator, enclosingCharacter)]);\n window.navigator.msSaveBlob(blob, filename);\n\n return false;\n }\n }\n }, {\n key: 'handleAsyncClick',\n value: function handleAsyncClick(event) {\n var _this2 = this;\n\n var done = function done(proceed) {\n if (proceed === false) {\n event.preventDefault();\n return;\n }\n _this2.handleLegacy(event, true);\n };\n\n this.props.onClick(event, done);\n }\n }, {\n key: 'handleSyncClick',\n value: function handleSyncClick(event) {\n var stopEvent = this.props.onClick(event) === false;\n if (stopEvent) {\n event.preventDefault();\n return;\n }\n this.handleLegacy(event);\n }\n }, {\n key: 'handleClick',\n value: function handleClick() {\n var _this3 = this;\n\n return function (event) {\n if (typeof _this3.props.onClick === 'function') {\n return _this3.props.asyncOnClick ? _this3.handleAsyncClick(event) : _this3.handleSyncClick(event);\n }\n _this3.handleLegacy(event);\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props2 = this.props,\n data = _props2.data,\n headers = _props2.headers,\n separator = _props2.separator,\n filename = _props2.filename,\n uFEFF = _props2.uFEFF,\n children = _props2.children,\n onClick = _props2.onClick,\n asyncOnClick = _props2.asyncOnClick,\n enclosingCharacter = _props2.enclosingCharacter,\n rest = _objectWithoutProperties(_props2, ['data', 'headers', 'separator', 'filename', 'uFEFF', 'children', 'onClick', 'asyncOnClick', 'enclosingCharacter']);\n\n var isNodeEnvironment = typeof window === 'undefined';\n var href = isNodeEnvironment ? '' : this.buildURI(data, uFEFF, headers, separator, enclosingCharacter);\n\n return _react2.default.createElement(\n 'a',\n _extends({\n download: filename\n }, rest, {\n ref: function ref(link) {\n return _this4.link = link;\n },\n target: '_self',\n href: href,\n onClick: this.handleClick()\n }),\n children\n );\n }\n }]);\n\n return CSVLink;\n}(_react2.default.Component);\n\nCSVLink.defaultProps = _metaProps.defaultProps;\nCSVLink.propTypes = _metaProps.propTypes;\nexports.default = CSVLink;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nfunction _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); } }\n\nvar isSafari = exports.isSafari = function isSafari() {\n return (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)\n );\n};\n\nvar isJsons = exports.isJsons = function isJsons(array) {\n return Array.isArray(array) && array.every(function (row) {\n return (typeof row === \"undefined\" ? \"undefined\" : _typeof(row)) === 'object' && !(row instanceof Array);\n });\n};\n\nvar isArrays = exports.isArrays = function isArrays(array) {\n return Array.isArray(array) && array.every(function (row) {\n return Array.isArray(row);\n });\n};\n\nvar jsonsHeaders = exports.jsonsHeaders = function jsonsHeaders(array) {\n return Array.from(array.map(function (json) {\n return Object.keys(json);\n }).reduce(function (a, b) {\n return new Set([].concat(_toConsumableArray(a), _toConsumableArray(b)));\n }, []));\n};\n\nvar jsons2arrays = exports.jsons2arrays = function jsons2arrays(jsons, headers) {\n headers = headers || jsonsHeaders(jsons);\n\n var headerLabels = headers;\n var headerKeys = headers;\n if (isJsons(headers)) {\n headerLabels = headers.map(function (header) {\n return header.label;\n });\n headerKeys = headers.map(function (header) {\n return header.key;\n });\n }\n\n var data = jsons.map(function (object) {\n return headerKeys.map(function (header) {\n return getHeaderValue(header, object);\n });\n });\n return [headerLabels].concat(_toConsumableArray(data));\n};\n\nvar getHeaderValue = exports.getHeaderValue = function getHeaderValue(property, obj) {\n var foundValue = property.replace(/\\[([^\\]]+)]/g, \".$1\").split(\".\").reduce(function (o, p, i, arr) {\n var value = o[p];\n if (value === undefined || value === null) {\n arr.splice(1);\n } else {\n return value;\n }\n }, obj);\n\n return foundValue === undefined ? property in obj ? obj[property] : '' : foundValue;\n};\n\nvar elementOrEmpty = exports.elementOrEmpty = function elementOrEmpty(element) {\n return typeof element === 'undefined' || element === null ? '' : element;\n};\n\nvar joiner = exports.joiner = function joiner(data) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n var enclosingCharacter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '\"';\n\n return data.filter(function (e) {\n return e;\n }).map(function (row) {\n return row.map(function (element) {\n return elementOrEmpty(element);\n }).map(function (column) {\n return \"\" + enclosingCharacter + column + enclosingCharacter;\n }).join(separator);\n }).join(\"\\n\");\n};\n\nvar arrays2csv = exports.arrays2csv = function arrays2csv(data, headers, separator, enclosingCharacter) {\n return joiner(headers ? [headers].concat(_toConsumableArray(data)) : data, separator, enclosingCharacter);\n};\n\nvar jsons2csv = exports.jsons2csv = function jsons2csv(data, headers, separator, enclosingCharacter) {\n return joiner(jsons2arrays(data, headers), separator, enclosingCharacter);\n};\n\nvar string2csv = exports.string2csv = function string2csv(data, headers, separator, enclosingCharacter) {\n return headers ? headers.join(separator) + \"\\n\" + data : data.replace(/\"/g, '\"\"');\n};\n\nvar toCSV = exports.toCSV = function toCSV(data, headers, separator, enclosingCharacter) {\n if (isJsons(data)) return jsons2csv(data, headers, separator, enclosingCharacter);\n if (isArrays(data)) return arrays2csv(data, headers, separator, enclosingCharacter);\n if (typeof data === 'string') return string2csv(data, headers, separator);\n throw new TypeError(\"Data should be a \\\"String\\\", \\\"Array of arrays\\\" OR \\\"Array of objects\\\" \");\n};\n\nvar buildURI = exports.buildURI = function buildURI(data, uFEFF, headers, separator, enclosingCharacter) {\n var csv = toCSV(data, headers, separator, enclosingCharacter);\n var type = isSafari() ? 'application/csv' : 'text/csv';\n var blob = new Blob([uFEFF ? \"\\uFEFF\" : '', csv], { type: type });\n var dataURI = \"data:\" + type + \";charset=utf-8,\" + (uFEFF ? \"\\uFEFF\" : '') + csv;\n\n var URL = window.URL || window.webkitURL;\n\n return typeof URL.createObjectURL === 'undefined' ? dataURI : URL.createObjectURL(blob);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CSVLink = exports.CSVDownload = undefined;\n\nvar _Download = require('./components/Download');\n\nvar _Download2 = _interopRequireDefault(_Download);\n\nvar _Link = require('./components/Link');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CSVDownload = exports.CSVDownload = _Download2.default;\nvar CSVLink = exports.CSVLink = _Link2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PropsNotForwarded = exports.defaultProps = exports.propTypes = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar propTypes = exports.propTypes = {\n data: (0, _propTypes.oneOfType)([_propTypes.string, _propTypes.array, _propTypes.func]).isRequired,\n headers: _propTypes.array,\n target: _propTypes.string,\n separator: _propTypes.string,\n filename: _propTypes.string,\n uFEFF: _propTypes.bool,\n onClick: _propTypes.func,\n asyncOnClick: _propTypes.bool,\n enclosingCharacter: _propTypes.string\n};\n\nvar defaultProps = exports.defaultProps = {\n separator: ',',\n filename: 'generatedBy_react-csv.csv',\n uFEFF: true,\n asyncOnClick: false,\n enclosingCharacter: '\"'\n};\n\nvar PropsNotForwarded = exports.PropsNotForwarded = ['data', 'headers'];","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n (global = global || self, factory(global.ReactTable = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (hint === \"string\" ? String : Number)(input);\n }\n\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n\n return typeof key === \"symbol\" ? key : String(key);\n }\n\n var renderErr = 'Renderer Error ☝️';\n var actions = {\n init: 'init'\n };\n var defaultRenderer = function defaultRenderer(_ref) {\n var _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value;\n return value;\n };\n var emptyRenderer = function emptyRenderer() {\n return React.createElement(React.Fragment, null, \"\\xA0\");\n };\n var defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER\n };\n\n function mergeProps() {\n for (var _len = arguments.length, propList = new Array(_len), _key = 0; _key < _len; _key++) {\n propList[_key] = arguments[_key];\n }\n\n return propList.reduce(function (props, next) {\n var style = next.style,\n className = next.className,\n rest = _objectWithoutPropertiesLoose(next, [\"style\", \"className\"]);\n\n props = _extends({}, props, {}, rest);\n\n if (style) {\n props.style = props.style ? _extends({}, props.style || {}, {}, style || {}) : style;\n }\n\n if (className) {\n props.className = props.className ? props.className + ' ' + className : className;\n }\n\n if (props.className === '') {\n delete props.className;\n }\n\n return props;\n }, {});\n }\n\n function handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta));\n } // Handle an array, merge each item as separate props\n\n\n if (Array.isArray(userProps)) {\n return mergeProps.apply(void 0, [prevProps].concat(userProps));\n } // Handle an object by default, merge the two objects\n\n\n return mergeProps(prevProps, userProps);\n }\n\n var makePropGetter = function makePropGetter(hooks, meta) {\n if (meta === void 0) {\n meta = {};\n }\n\n return function (userProps) {\n if (userProps === void 0) {\n userProps = {};\n }\n\n return [].concat(hooks, [userProps]).reduce(function (prev, next) {\n return handlePropGetter(prev, next, _extends({}, meta, {\n userProps: userProps\n }));\n }, {});\n };\n };\n var reduceHooks = function reduceHooks(hooks, initial, meta, allowUndefined) {\n if (meta === void 0) {\n meta = {};\n }\n\n return hooks.reduce(function (prev, next) {\n var nextValue = next(prev, meta);\n\n {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next);\n throw new Error('React Table: A reducer hook ☝️ just returned undefined! This is not allowed.');\n }\n }\n\n return nextValue;\n }, initial);\n };\n var loopHooks = function loopHooks(hooks, context, meta) {\n if (meta === void 0) {\n meta = {};\n }\n\n return hooks.forEach(function (hook) {\n var nextValue = hook(context, meta);\n\n {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue);\n throw new Error('React Table: A loop-type hook ☝️ just returned a value! This is not allowed.');\n }\n }\n });\n };\n function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if ( afters) {\n throw new Error(\"Defining plugins in the \\\"after\\\" section of ensurePluginOrder is no longer supported (see plugin \" + pluginName + \")\");\n }\n\n var pluginIndex = plugins.findIndex(function (plugin) {\n return plugin.pluginName === pluginName;\n });\n\n if (pluginIndex === -1) {\n {\n throw new Error(\"The plugin \\\"\" + pluginName + \"\\\" was not found in the plugin list!\\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\\n\\n \" + pluginName + \".pluginName = '\" + pluginName + \"'\\n\");\n }\n }\n\n befores.forEach(function (before) {\n var beforeIndex = plugins.findIndex(function (plugin) {\n return plugin.pluginName === before;\n });\n\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n {\n throw new Error(\"React Table: The \" + pluginName + \" plugin hook must be placed after the \" + before + \" plugin hook!\");\n }\n }\n });\n }\n function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater;\n }\n function useGetLatest(obj) {\n var ref = React.useRef();\n ref.current = obj;\n return React.useCallback(function () {\n return ref.current;\n }, []);\n } // SSR has issues with useLayoutEffect still, so use useEffect during SSR\n\n var safeUseLayoutEffect = typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n function useMountedLayoutEffect(fn, deps) {\n var mountedRef = React.useRef(false);\n safeUseLayoutEffect(function () {\n if (mountedRef.current) {\n fn();\n }\n\n mountedRef.current = true; // eslint-disable-next-line\n }, deps);\n }\n function useAsyncDebounce(defaultFn, defaultWait) {\n if (defaultWait === void 0) {\n defaultWait = 0;\n }\n\n var debounceRef = React.useRef({});\n var getDefaultFn = useGetLatest(defaultFn);\n var getDefaultWait = useGetLatest(defaultWait);\n return React.useCallback(\n /*#__PURE__*/\n function () {\n var _ref2 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2() {\n var _len2,\n args,\n _key2,\n _args2 = arguments;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n for (_len2 = _args2.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = _args2[_key2];\n }\n\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise(function (resolve, reject) {\n debounceRef.current.resolve = resolve;\n debounceRef.current.reject = reject;\n });\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout);\n }\n\n debounceRef.current.timeout = setTimeout(\n /*#__PURE__*/\n _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n delete debounceRef.current.timeout;\n _context.prev = 1;\n _context.t0 = debounceRef.current;\n _context.next = 5;\n return getDefaultFn().apply(void 0, args);\n\n case 5:\n _context.t1 = _context.sent;\n\n _context.t0.resolve.call(_context.t0, _context.t1);\n\n _context.next = 12;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t2 = _context[\"catch\"](1);\n debounceRef.current.reject(_context.t2);\n\n case 12:\n _context.prev = 12;\n delete debounceRef.current.promise;\n return _context.finish(12);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 9, 12, 15]]);\n })), getDefaultWait());\n return _context2.abrupt(\"return\", debounceRef.current.promise);\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function () {\n return _ref2.apply(this, arguments);\n };\n }(), [getDefaultFn, getDefaultWait]);\n }\n function makeRenderer(instance, column, meta) {\n if (meta === void 0) {\n meta = {};\n }\n\n return function (type, userProps) {\n if (userProps === void 0) {\n userProps = {};\n }\n\n var Comp = typeof type === 'string' ? column[type] : type;\n\n if (typeof Comp === 'undefined') {\n console.info(column);\n throw new Error(renderErr);\n }\n\n return flexRender(Comp, _extends({}, instance, {\n column: column\n }, meta, {}, userProps));\n };\n }\n function flexRender(Comp, props) {\n return isReactComponent(Comp) ? React.createElement(Comp, props) : Comp;\n }\n\n function isReactComponent(component) {\n return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);\n }\n\n function isClassComponent(component) {\n return typeof component === 'function' && function () {\n var proto = Object.getPrototypeOf(component);\n return proto.prototype && proto.prototype.isReactComponent;\n }();\n }\n\n function isExoticComponent(component) {\n return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);\n }\n\n function linkColumnStructure(columns, parent, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n\n return columns.map(function (column) {\n column = _extends({}, column, {\n parent: parent,\n depth: depth\n });\n assignColumnAccessor(column);\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1);\n }\n\n return column;\n });\n }\n function flattenColumns(columns) {\n return flattenBy(columns, 'columns');\n }\n function assignColumnAccessor(column) {\n // First check for string accessor\n var id = column.id,\n accessor = column.accessor,\n Header = column.Header;\n\n if (typeof accessor === 'string') {\n id = id || accessor;\n var accessorPath = accessor.split('.');\n\n accessor = function accessor(row) {\n return getBy(row, accessorPath);\n };\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header;\n }\n\n if (!id && column.columns) {\n console.error(column);\n throw new Error('A column ID (or unique \"Header\" value) is required!');\n }\n\n if (!id) {\n console.error(column);\n throw new Error('A column ID (or string accessor) is required!');\n }\n\n Object.assign(column, {\n id: id,\n accessor: accessor\n });\n return column;\n }\n function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error();\n }\n\n Object.assign(column, _extends({\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer\n }, defaultColumn, {}, userDefaultColumn, {}, column));\n Object.assign(column, {\n originalWidth: column.width\n });\n return column;\n } // Build the header groups from the bottom up\n\n function makeHeaderGroups(allColumns, defaultColumn, additionalHeaderProperties) {\n if (additionalHeaderProperties === void 0) {\n additionalHeaderProperties = function additionalHeaderProperties() {\n return {};\n };\n }\n\n var headerGroups = [];\n var scanColumns = allColumns;\n var uid = 0;\n\n var getUID = function getUID() {\n return uid++;\n };\n\n var _loop = function _loop() {\n // The header group we are creating\n var headerGroup = {\n headers: []\n }; // The parent columns we're going to scan next\n\n var parentColumns = [];\n var hasParents = scanColumns.some(function (d) {\n return d.parent;\n }); // Scan each column for parents\n\n scanColumns.forEach(function (column) {\n // What is the latest (last) parent column?\n var latestParentColumn = [].concat(parentColumns).reverse()[0];\n var newParent;\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = _extends({}, column.parent, {\n originalId: column.parent.id,\n id: column.parent.id + \"_\" + getUID(),\n headers: [column]\n }, additionalHeaderProperties(column));\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n var originalId = column.id + \"_placeholder\";\n newParent = decorateColumn(_extends({\n originalId: originalId,\n id: column.id + \"_placeholder_\" + getUID(),\n placeholderOf: column,\n headers: [column]\n }, additionalHeaderProperties(column)), defaultColumn);\n } // If the resulting parent columns are the same, just add\n // the column and increment the header span\n\n\n if (latestParentColumn && latestParentColumn.originalId === newParent.originalId) {\n latestParentColumn.headers.push(column);\n } else {\n parentColumns.push(newParent);\n }\n }\n\n headerGroup.headers.push(column);\n });\n headerGroups.push(headerGroup); // Start scanning the parent columns\n\n scanColumns = parentColumns;\n };\n\n while (scanColumns.length) {\n _loop();\n }\n\n return headerGroups.reverse();\n }\n var pathObjCache = new Map();\n function getBy(obj, path, def) {\n if (!path) {\n return obj;\n }\n\n var cacheKey = typeof path === 'function' ? path : JSON.stringify(path);\n\n var pathObj = pathObjCache.get(cacheKey) || function () {\n var pathObj = makePathArray(path);\n pathObjCache.set(cacheKey, pathObj);\n return pathObj;\n }();\n\n var val;\n\n try {\n val = pathObj.reduce(function (cursor, pathPart) {\n return cursor[pathPart];\n }, obj);\n } catch (e) {// continue regardless of error\n }\n\n return typeof val !== 'undefined' ? val : def;\n }\n function getFirstDefined() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n for (var i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i];\n }\n }\n }\n function isFunction(a) {\n if (typeof a === 'function') {\n return a;\n }\n }\n function flattenBy(arr, key) {\n var flat = [];\n\n var recurse = function recurse(arr) {\n arr.forEach(function (d) {\n if (!d[key]) {\n flat.push(d);\n } else {\n recurse(d[key]);\n }\n });\n };\n\n recurse(arr);\n return flat;\n }\n function expandRows(rows, _ref) {\n var manualExpandedKey = _ref.manualExpandedKey,\n expanded = _ref.expanded,\n _ref$expandSubRows = _ref.expandSubRows,\n expandSubRows = _ref$expandSubRows === void 0 ? true : _ref$expandSubRows;\n var expandedRows = [];\n\n var handleRow = function handleRow(row, addToExpandedRows) {\n if (addToExpandedRows === void 0) {\n addToExpandedRows = true;\n }\n\n row.isExpanded = row.original && row.original[manualExpandedKey] || expanded[row.id];\n row.canExpand = row.subRows && !!row.subRows.length;\n\n if (addToExpandedRows) {\n expandedRows.push(row);\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(function (row) {\n return handleRow(row, expandSubRows);\n });\n }\n };\n\n rows.forEach(function (row) {\n return handleRow(row);\n });\n return expandedRows;\n }\n function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return isFunction(filter) || userFilterTypes[filter] || filterTypes[filter] || filterTypes.text;\n }\n function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined';\n }\n function unpreparedAccessWarning() {\n throw new Error('React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.');\n }\n var passiveSupported = null;\n function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported;\n var supported = false;\n\n try {\n var options = {\n get passive() {\n supported = true;\n return false;\n }\n\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (err) {\n supported = false;\n }\n\n passiveSupported = supported;\n return passiveSupported;\n } //\n\n var reOpenBracket = /\\[/g;\n var reCloseBracket = /\\]/g;\n\n function makePathArray(obj) {\n return flattenDeep(obj) // remove all periods in parts\n .map(function (d) {\n return String(d).replace('.', '_');\n }) // join parts using period\n .join('.') // replace brackets with periods\n .replace(reOpenBracket, '.').replace(reCloseBracket, '') // split it back out on periods\n .split('.');\n }\n\n function flattenDeep(arr, newArr) {\n if (newArr === void 0) {\n newArr = [];\n }\n\n if (!Array.isArray(arr)) {\n newArr.push(arr);\n } else {\n for (var i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr);\n }\n }\n\n return newArr;\n }\n\n var defaultGetTableProps = function defaultGetTableProps(props) {\n return _extends({\n role: 'table'\n }, props);\n };\n\n var defaultGetTableBodyProps = function defaultGetTableBodyProps(props) {\n return _extends({\n role: 'rowgroup'\n }, props);\n };\n\n var defaultGetHeaderProps = function defaultGetHeaderProps(props, _ref) {\n var column = _ref.column;\n return _extends({\n key: \"header_\" + column.id,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader'\n }, props);\n };\n\n var defaultGetFooterProps = function defaultGetFooterProps(props, _ref2) {\n var column = _ref2.column;\n return _extends({\n key: \"footer_\" + column.id,\n colSpan: column.totalVisibleHeaderCount\n }, props);\n };\n\n var defaultGetHeaderGroupProps = function defaultGetHeaderGroupProps(props, _ref3) {\n var index = _ref3.index;\n return _extends({\n key: \"headerGroup_\" + index,\n role: 'row'\n }, props);\n };\n\n var defaultGetFooterGroupProps = function defaultGetFooterGroupProps(props, _ref4) {\n var index = _ref4.index;\n return _extends({\n key: \"footerGroup_\" + index\n }, props);\n };\n\n var defaultGetRowProps = function defaultGetRowProps(props, _ref5) {\n var row = _ref5.row;\n return _extends({\n key: \"row_\" + row.id,\n role: 'row'\n }, props);\n };\n\n var defaultGetCellProps = function defaultGetCellProps(props, _ref6) {\n var cell = _ref6.cell;\n return _extends({\n key: \"cell_\" + cell.row.id + \"_\" + cell.column.id,\n role: 'cell'\n }, props);\n };\n\n function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: []\n };\n }\n\n actions.resetHiddenColumns = 'resetHiddenColumns';\n actions.toggleHideColumn = 'toggleHideColumn';\n actions.setHiddenColumns = 'setHiddenColumns';\n actions.toggleHideAllColumns = 'toggleHideAllColumns';\n var useColumnVisibility = function useColumnVisibility(hooks) {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps];\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps];\n hooks.stateReducers.push(reducer);\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);\n hooks.headerGroupsDeps.push(function (deps, _ref) {\n var instance = _ref.instance;\n return [].concat(deps, [instance.state.hiddenColumns]);\n });\n hooks.useInstance.push(useInstance);\n };\n useColumnVisibility.pluginName = 'useColumnVisibility';\n\n var defaultGetToggleHiddenProps = function defaultGetToggleHiddenProps(props, _ref2) {\n var column = _ref2.column;\n return [props, {\n onChange: function onChange(e) {\n column.toggleHidden(!e.target.checked);\n },\n style: {\n cursor: 'pointer'\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible'\n }];\n };\n\n var defaultGetToggleHideAllColumnsProps = function defaultGetToggleHideAllColumnsProps(props, _ref3) {\n var instance = _ref3.instance;\n return [props, {\n onChange: function onChange(e) {\n instance.toggleHideAllColumns(!e.target.checked);\n },\n style: {\n cursor: 'pointer'\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate: !instance.allColumnsHidden && instance.state.hiddenColumns.length\n }];\n };\n\n function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n hiddenColumns: []\n }, state);\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return _extends({}, state, {\n hiddenColumns: instance.initialState.hiddenColumns || []\n });\n }\n\n if (action.type === actions.toggleHideColumn) {\n var should = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.includes(action.columnId);\n var hiddenColumns = should ? [].concat(state.hiddenColumns, [action.columnId]) : state.hiddenColumns.filter(function (d) {\n return d !== action.columnId;\n });\n return _extends({}, state, {\n hiddenColumns: hiddenColumns\n });\n }\n\n if (action.type === actions.setHiddenColumns) {\n return _extends({}, state, {\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns)\n });\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n var shouldAll = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.length;\n return _extends({}, state, {\n hiddenColumns: shouldAll ? instance.allColumns.map(function (d) {\n return d.id;\n }) : []\n });\n }\n }\n\n function useInstanceBeforeDimensions(instance) {\n var headers = instance.headers,\n hiddenColumns = instance.state.hiddenColumns;\n var isMountedRef = React.useRef(false);\n\n if (!isMountedRef.current) ;\n\n var handleColumn = function handleColumn(column, parentVisible) {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id);\n var totalVisibleHeaderCount = 0;\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(function (subColumn) {\n return totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible);\n });\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0;\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount;\n return totalVisibleHeaderCount;\n };\n\n var totalVisibleHeaderCount = 0;\n headers.forEach(function (subHeader) {\n return totalVisibleHeaderCount += handleColumn(subHeader, true);\n });\n }\n\n function useInstance(instance) {\n var columns = instance.columns,\n flatHeaders = instance.flatHeaders,\n dispatch = instance.dispatch,\n allColumns = instance.allColumns,\n getHooks = instance.getHooks,\n hiddenColumns = instance.state.hiddenColumns,\n _instance$autoResetHi = instance.autoResetHiddenColumns,\n autoResetHiddenColumns = _instance$autoResetHi === void 0 ? true : _instance$autoResetHi;\n var getInstance = useGetLatest(instance);\n var allColumnsHidden = allColumns.length === hiddenColumns.length;\n var toggleHideColumn = React.useCallback(function (columnId, value) {\n return dispatch({\n type: actions.toggleHideColumn,\n columnId: columnId,\n value: value\n });\n }, [dispatch]);\n var setHiddenColumns = React.useCallback(function (value) {\n return dispatch({\n type: actions.setHiddenColumns,\n value: value\n });\n }, [dispatch]);\n var toggleHideAllColumns = React.useCallback(function (value) {\n return dispatch({\n type: actions.toggleHideAllColumns,\n value: value\n });\n }, [dispatch]);\n var getToggleHideAllColumnsProps = makePropGetter(getHooks().getToggleHideAllColumnsProps, {\n instance: getInstance()\n });\n flatHeaders.forEach(function (column) {\n column.toggleHidden = function (value) {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value: value\n });\n };\n\n column.getToggleHiddenProps = makePropGetter(getHooks().getToggleHiddenProps, {\n instance: getInstance(),\n column: column\n });\n });\n var getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns);\n useMountedLayoutEffect(function () {\n if (getAutoResetHiddenColumns()) {\n dispatch({\n type: actions.resetHiddenColumns\n });\n }\n }, [dispatch, columns]);\n Object.assign(instance, {\n allColumnsHidden: allColumnsHidden,\n toggleHideColumn: toggleHideColumn,\n setHiddenColumns: setHiddenColumns,\n toggleHideAllColumns: toggleHideAllColumns,\n getToggleHideAllColumnsProps: getToggleHideAllColumnsProps\n });\n }\n\n var defaultInitialState = {};\n var defaultColumnInstance = {};\n\n var defaultReducer = function defaultReducer(state, action, prevState) {\n return state;\n };\n\n var defaultGetSubRows = function defaultGetSubRows(row, index) {\n return row.subRows || [];\n };\n\n var defaultGetRowId = function defaultGetRowId(row, index, parent) {\n return \"\" + (parent ? [parent.id, index].join('.') : index);\n };\n\n var defaultUseControlledState = function defaultUseControlledState(d) {\n return d;\n };\n\n function applyDefaults(props) {\n var _props$initialState = props.initialState,\n initialState = _props$initialState === void 0 ? defaultInitialState : _props$initialState,\n _props$defaultColumn = props.defaultColumn,\n defaultColumn = _props$defaultColumn === void 0 ? defaultColumnInstance : _props$defaultColumn,\n _props$getSubRows = props.getSubRows,\n getSubRows = _props$getSubRows === void 0 ? defaultGetSubRows : _props$getSubRows,\n _props$getRowId = props.getRowId,\n getRowId = _props$getRowId === void 0 ? defaultGetRowId : _props$getRowId,\n _props$stateReducer = props.stateReducer,\n stateReducer = _props$stateReducer === void 0 ? defaultReducer : _props$stateReducer,\n _props$useControlledS = props.useControlledState,\n useControlledState = _props$useControlledS === void 0 ? defaultUseControlledState : _props$useControlledS,\n rest = _objectWithoutPropertiesLoose(props, [\"initialState\", \"defaultColumn\", \"getSubRows\", \"getRowId\", \"stateReducer\", \"useControlledState\"]);\n\n return _extends({}, rest, {\n initialState: initialState,\n defaultColumn: defaultColumn,\n getSubRows: getSubRows,\n getRowId: getRowId,\n stateReducer: stateReducer,\n useControlledState: useControlledState\n });\n }\n\n var useTable = function useTable(props) {\n for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n plugins[_key - 1] = arguments[_key];\n }\n\n // Apply default props\n props = applyDefaults(props); // Add core plugins\n\n plugins = [useColumnVisibility].concat(plugins); // Create the table instance\n\n var instanceRef = React.useRef({}); // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n\n var getInstance = useGetLatest(instanceRef.current); // Assign the props, plugins and hooks to the instance\n\n Object.assign(getInstance(), _extends({}, props, {\n plugins: plugins,\n hooks: makeDefaultPluginHooks()\n })); // Allow plugins to register hooks as early as possible\n\n plugins.filter(Boolean).forEach(function (plugin) {\n plugin(getInstance().hooks);\n }); // Consume all hooks and make a getter for them\n\n var getHooks = useGetLatest(getInstance().hooks);\n getInstance().getHooks = getHooks;\n delete getInstance().hooks; // Allow useOptions hooks to modify the options coming into the table\n\n Object.assign(getInstance(), reduceHooks(getHooks().useOptions, applyDefaults(props)));\n\n var _getInstance = getInstance(),\n data = _getInstance.data,\n userColumns = _getInstance.columns,\n initialState = _getInstance.initialState,\n defaultColumn = _getInstance.defaultColumn,\n getSubRows = _getInstance.getSubRows,\n getRowId = _getInstance.getRowId,\n stateReducer = _getInstance.stateReducer,\n useControlledState = _getInstance.useControlledState; // Setup user reducer ref\n\n\n var getStateReducer = useGetLatest(stateReducer); // Build the reducer\n\n var reducer = React.useCallback(function (state, action) {\n // Detect invalid actions\n if (!action.type) {\n console.info({\n action: action\n });\n throw new Error('Unknown Action 👆');\n } // Reduce the state from all plugin reducers\n\n\n return [].concat(getHooks().stateReducers, Array.isArray(getStateReducer()) ? getStateReducer() : [getStateReducer()]).reduce(function (s, handler) {\n return handler(s, action, state, getInstance()) || s;\n }, state);\n }, [getHooks, getStateReducer, getInstance]); // Start the reducer\n\n var _React$useReducer = React.useReducer(reducer, undefined, function () {\n return reducer(initialState, {\n type: actions.init\n });\n }),\n reducerState = _React$useReducer[0],\n dispatch = _React$useReducer[1]; // Allow the user to control the final state with hooks\n\n\n var state = reduceHooks([].concat(getHooks().useControlledState, [useControlledState]), reducerState, {\n instance: getInstance()\n });\n Object.assign(getInstance(), {\n state: state,\n dispatch: dispatch\n }); // Decorate All the columns\n\n var columns = React.useMemo(function () {\n return linkColumnStructure(reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance()\n }));\n }, [getHooks, getInstance, userColumns].concat(reduceHooks(getHooks().columnsDeps, [], {\n instance: getInstance()\n })));\n getInstance().columns = columns; // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n\n var allColumns = React.useMemo(function () {\n return reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance()\n }).map(assignColumnAccessor);\n }, [columns, getHooks, getInstance].concat(reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance()\n })));\n getInstance().allColumns = allColumns; // Access the row model using initial columns\n\n var _React$useMemo = React.useMemo(function () {\n var rows = [];\n var flatRows = [];\n var rowsById = {};\n var allColumnsQueue = [].concat(allColumns);\n\n while (allColumnsQueue.length) {\n var column = allColumnsQueue.shift();\n accessRowsForColumn({\n data: data,\n rows: rows,\n flatRows: flatRows,\n rowsById: rowsById,\n column: column,\n getRowId: getRowId,\n getSubRows: getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance: getInstance\n });\n }\n\n return [rows, flatRows, rowsById];\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance]),\n rows = _React$useMemo[0],\n flatRows = _React$useMemo[1],\n rowsById = _React$useMemo[2];\n\n Object.assign(getInstance(), {\n rows: rows,\n initialRows: [].concat(rows),\n flatRows: flatRows,\n rowsById: rowsById // materializedColumns,\n\n });\n loopHooks(getHooks().useInstanceAfterData, getInstance()); // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n\n var visibleColumns = React.useMemo(function () {\n return reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance()\n }).map(function (d) {\n return decorateColumn(d, defaultColumn);\n });\n }, [getHooks, allColumns, getInstance, defaultColumn].concat(reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance()\n }))); // Combine new visible columns with all columns\n\n allColumns = React.useMemo(function () {\n var columns = [].concat(visibleColumns);\n allColumns.forEach(function (column) {\n if (!columns.find(function (d) {\n return d.id === column.id;\n })) {\n columns.push(column);\n }\n });\n return columns;\n }, [allColumns, visibleColumns]);\n getInstance().allColumns = allColumns;\n\n {\n var duplicateColumns = allColumns.filter(function (column, i) {\n return allColumns.findIndex(function (d) {\n return d.id === column.id;\n }) !== i;\n });\n\n if (duplicateColumns.length) {\n console.info(allColumns);\n throw new Error(\"Duplicate columns were found with ids: \\\"\" + duplicateColumns.map(function (d) {\n return d.id;\n }).join(', ') + \"\\\" in the columns array above\");\n }\n } // Make the headerGroups\n\n\n var headerGroups = React.useMemo(function () {\n return reduceHooks(getHooks().headerGroups, makeHeaderGroups(visibleColumns, defaultColumn), getInstance());\n }, [getHooks, visibleColumns, defaultColumn, getInstance].concat(reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance()\n })));\n getInstance().headerGroups = headerGroups; // Get the first level of headers\n\n var headers = React.useMemo(function () {\n return headerGroups.length ? headerGroups[0].headers : [];\n }, [headerGroups]);\n getInstance().headers = headers; // Provide a flat header list for utilities\n\n getInstance().flatHeaders = headerGroups.reduce(function (all, headerGroup) {\n return [].concat(all, headerGroup.headers);\n }, []);\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance()); // Filter columns down to visible ones\n\n var visibleColumnsDep = visibleColumns.filter(function (d) {\n return d.isVisible;\n }).map(function (d) {\n return d.id;\n }).sort().join('_');\n visibleColumns = React.useMemo(function () {\n return visibleColumns.filter(function (d) {\n return d.isVisible;\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]);\n getInstance().visibleColumns = visibleColumns; // Header Visibility is needed by this point\n\n var _calculateHeaderWidth = calculateHeaderWidths(headers),\n totalColumnsMinWidth = _calculateHeaderWidth[0],\n totalColumnsWidth = _calculateHeaderWidth[1],\n totalColumnsMaxWidth = _calculateHeaderWidth[2];\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth;\n getInstance().totalColumnsWidth = totalColumnsWidth;\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth;\n loopHooks(getHooks().useInstance, getInstance()) // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;\n [].concat(getInstance().flatHeaders, getInstance().allColumns).forEach(function (column) {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column); // Give columns/headers a default getHeaderProps\n\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column: column\n }); // Give columns/headers a default getFooterProps\n\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column: column\n });\n });\n getInstance().headerGroups = React.useMemo(function () {\n return headerGroups.filter(function (headerGroup, i) {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(function (column) {\n var recurse = function recurse(headers) {\n return headers.filter(function (column) {\n if (column.headers) {\n return recurse(column.headers);\n }\n\n return column.isVisible;\n }).length;\n };\n\n if (column.headers) {\n return recurse(column.headers);\n }\n\n return column.isVisible;\n }); // Give headerGroups getRowProps\n\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(getHooks().getHeaderGroupProps, {\n instance: getInstance(),\n headerGroup: headerGroup,\n index: i\n });\n headerGroup.getFooterGroupProps = makePropGetter(getHooks().getFooterGroupProps, {\n instance: getInstance(),\n headerGroup: headerGroup,\n index: i\n });\n return true;\n }\n\n return false;\n });\n }, [headerGroups, getInstance, getHooks]);\n getInstance().footerGroups = [].concat(getInstance().headerGroups).reverse(); // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(function (row) {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row: row\n }); // Build the visible cells for each row\n\n row.allCells = allColumns.map(function (column) {\n var value = row.values[column.id];\n var cell = {\n column: column,\n row: row,\n value: value\n }; // Give each cell a getCellProps base\n\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell: cell\n }); // Give each cell a renderer function (supports multiple renderers)\n\n cell.render = makeRenderer(getInstance(), column, {\n row: row,\n cell: cell,\n value: value\n });\n return cell;\n });\n row.cells = visibleColumns.map(function (column) {\n return row.allCells.find(function (cell) {\n return cell.column.id === column.id;\n });\n }); // need to apply any row specific hooks (useExpanded requires this)\n\n loopHooks(getHooks().prepareRow, row, {\n instance: getInstance()\n });\n }, [getHooks, getInstance, allColumns, visibleColumns]);\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance()\n });\n getInstance().getTableBodyProps = makePropGetter(getHooks().getTableBodyProps, {\n instance: getInstance()\n });\n loopHooks(getHooks().useFinalInstance, getInstance());\n return getInstance();\n };\n\n function calculateHeaderWidths(headers, left) {\n if (left === void 0) {\n left = 0;\n }\n\n var sumTotalMinWidth = 0;\n var sumTotalWidth = 0;\n var sumTotalMaxWidth = 0;\n var sumTotalFlexWidth = 0;\n headers.forEach(function (header) {\n var subHeaders = header.headers;\n header.totalLeft = left;\n\n if (subHeaders && subHeaders.length) {\n var _calculateHeaderWidth2 = calculateHeaderWidths(subHeaders, left),\n totalMinWidth = _calculateHeaderWidth2[0],\n totalWidth = _calculateHeaderWidth2[1],\n totalMaxWidth = _calculateHeaderWidth2[2],\n totalFlexWidth = _calculateHeaderWidth2[3];\n\n header.totalMinWidth = totalMinWidth;\n header.totalWidth = totalWidth;\n header.totalMaxWidth = totalMaxWidth;\n header.totalFlexWidth = totalFlexWidth;\n } else {\n header.totalMinWidth = header.minWidth;\n header.totalWidth = Math.min(Math.max(header.minWidth, header.width), header.maxWidth);\n header.totalMaxWidth = header.maxWidth;\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0;\n }\n\n if (header.isVisible) {\n left += header.totalWidth;\n sumTotalMinWidth += header.totalMinWidth;\n sumTotalWidth += header.totalWidth;\n sumTotalMaxWidth += header.totalMaxWidth;\n sumTotalFlexWidth += header.totalFlexWidth;\n }\n });\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth];\n }\n\n function accessRowsForColumn(_ref) {\n var data = _ref.data,\n rows = _ref.rows,\n flatRows = _ref.flatRows,\n rowsById = _ref.rowsById,\n column = _ref.column,\n getRowId = _ref.getRowId,\n getSubRows = _ref.getSubRows,\n accessValueHooks = _ref.accessValueHooks,\n getInstance = _ref.getInstance;\n\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n var accessRow = function accessRow(originalRow, rowIndex, depth, parent, parentRows) {\n if (depth === void 0) {\n depth = 0;\n }\n\n // Keep the original reference around\n var original = originalRow;\n var id = getRowId(originalRow, rowIndex, parent);\n var row = rowsById[id]; // If the row hasn't been created, let's make it\n\n if (!row) {\n row = {\n id: id,\n original: original,\n index: rowIndex,\n depth: depth,\n cells: [{}] // This is a dummy cell\n\n }; // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n\n row.cells.map = unpreparedAccessWarning;\n row.cells.filter = unpreparedAccessWarning;\n row.cells.forEach = unpreparedAccessWarning;\n row.cells[0].getCellProps = unpreparedAccessWarning; // Create the cells and values\n\n row.values = {}; // Push this row into the parentRows array\n\n parentRows.push(row); // Keep track of every row in a flat array\n\n flatRows.push(row); // Also keep track of every row by its ID\n\n rowsById[id] = row; // Get the original subrows\n\n row.originalSubRows = getSubRows(originalRow, rowIndex); // Then recursively access them\n\n if (row.originalSubRows) {\n var subRows = [];\n row.originalSubRows.forEach(function (d, i) {\n return accessRow(d, i, depth + 1, row, subRows);\n }); // Keep the new subRows array on the row\n\n row.subRows = subRows;\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach(function (d, i) {\n return accessRow(d, i, depth + 1, row);\n });\n } // If the column has an accessor, use it to get a value\n\n\n if (column.accessor) {\n row.values[column.id] = column.accessor(originalRow, rowIndex, row, parentRows, data);\n } // Allow plugins to manipulate the column value\n\n\n row.values[column.id] = reduceHooks(accessValueHooks, row.values[column.id], {\n row: row,\n column: column,\n instance: getInstance()\n }, true);\n };\n\n data.forEach(function (originalRow, rowIndex) {\n return accessRow(originalRow, rowIndex, 0, undefined, rows);\n });\n }\n\n actions.resetExpanded = 'resetExpanded';\n actions.toggleRowExpanded = 'toggleRowExpanded';\n actions.toggleAllRowsExpanded = 'toggleAllRowsExpanded';\n var useExpanded = function useExpanded(hooks) {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps];\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps];\n hooks.stateReducers.push(reducer$1);\n hooks.useInstance.push(useInstance$1);\n hooks.prepareRow.push(prepareRow);\n };\n useExpanded.pluginName = 'useExpanded';\n\n var defaultGetToggleAllRowsExpandedProps = function defaultGetToggleAllRowsExpandedProps(props, _ref) {\n var instance = _ref.instance;\n return [props, {\n onClick: function onClick(e) {\n instance.toggleAllRowsExpanded();\n },\n style: {\n cursor: 'pointer'\n },\n title: 'Toggle All Rows Expanded'\n }];\n };\n\n var defaultGetToggleRowExpandedProps = function defaultGetToggleRowExpandedProps(props, _ref2) {\n var row = _ref2.row;\n return [props, {\n onClick: function onClick() {\n row.toggleRowExpanded();\n },\n style: {\n cursor: 'pointer'\n },\n title: 'Toggle Row Expanded'\n }];\n }; // Reducer\n\n\n function reducer$1(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n expanded: {}\n }, state);\n }\n\n if (action.type === actions.resetExpanded) {\n return _extends({}, state, {\n expanded: instance.initialState.expanded || {}\n });\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n var value = action.value;\n var rowsById = instance.rowsById;\n var isAllRowsExpanded = Object.keys(rowsById).length === Object.keys(state.expanded).length;\n var expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded;\n\n if (expandAll) {\n var expanded = {};\n Object.keys(rowsById).forEach(function (rowId) {\n expanded[rowId] = true;\n });\n return _extends({}, state, {\n expanded: expanded\n });\n }\n\n return _extends({}, state, {\n expanded: {}\n });\n }\n\n if (action.type === actions.toggleRowExpanded) {\n var id = action.id,\n setExpanded = action.value;\n var exists = state.expanded[id];\n var shouldExist = typeof setExpanded !== 'undefined' ? setExpanded : !exists;\n\n if (!exists && shouldExist) {\n var _extends2;\n\n return _extends({}, state, {\n expanded: _extends({}, state.expanded, (_extends2 = {}, _extends2[id] = true, _extends2))\n });\n } else if (exists && !shouldExist) {\n var _state$expanded = state.expanded,\n _ = _state$expanded[id],\n rest = _objectWithoutPropertiesLoose(_state$expanded, [id].map(_toPropertyKey));\n\n return _extends({}, state, {\n expanded: rest\n });\n } else {\n return state;\n }\n }\n }\n\n function useInstance$1(instance) {\n var data = instance.data,\n rows = instance.rows,\n rowsById = instance.rowsById,\n _instance$manualExpan = instance.manualExpandedKey,\n manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,\n _instance$paginateExp = instance.paginateExpandedRows,\n paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,\n _instance$expandSubRo = instance.expandSubRows,\n expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,\n _instance$autoResetEx = instance.autoResetExpanded,\n autoResetExpanded = _instance$autoResetEx === void 0 ? true : _instance$autoResetEx,\n getHooks = instance.getHooks,\n plugins = instance.plugins,\n expanded = instance.state.expanded,\n dispatch = instance.dispatch;\n ensurePluginOrder(plugins, ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'], 'useExpanded');\n var getAutoResetExpanded = useGetLatest(autoResetExpanded);\n var isAllRowsExpanded = Boolean(Object.keys(rowsById).length && Object.keys(expanded).length);\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(function (id) {\n return !expanded[id];\n })) {\n isAllRowsExpanded = false;\n }\n } // Bypass any effects from firing when this changes\n\n\n useMountedLayoutEffect(function () {\n if (getAutoResetExpanded()) {\n dispatch({\n type: actions.resetExpanded\n });\n }\n }, [dispatch, data]);\n var toggleRowExpanded = React.useCallback(function (id, value) {\n dispatch({\n type: actions.toggleRowExpanded,\n id: id,\n value: value\n });\n }, [dispatch]);\n var toggleAllRowsExpanded = React.useCallback(function (value) {\n return dispatch({\n type: actions.toggleAllRowsExpanded,\n value: value\n });\n }, [dispatch]);\n var expandedRows = React.useMemo(function () {\n if (paginateExpandedRows) {\n return expandRows(rows, {\n manualExpandedKey: manualExpandedKey,\n expanded: expanded,\n expandSubRows: expandSubRows\n });\n }\n\n return rows;\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows]);\n var expandedDepth = React.useMemo(function () {\n return findExpandedDepth(expanded);\n }, [expanded]);\n var getInstance = useGetLatest(instance);\n var getToggleAllRowsExpandedProps = makePropGetter(getHooks().getToggleAllRowsExpandedProps, {\n instance: getInstance()\n });\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows: expandedRows,\n rows: expandedRows,\n expandedDepth: expandedDepth,\n isAllRowsExpanded: isAllRowsExpanded,\n toggleRowExpanded: toggleRowExpanded,\n toggleAllRowsExpanded: toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps: getToggleAllRowsExpandedProps\n });\n }\n\n function prepareRow(row, _ref3) {\n var getHooks = _ref3.instance.getHooks,\n instance = _ref3.instance;\n\n row.toggleRowExpanded = function (set) {\n return instance.toggleRowExpanded(row.id, set);\n };\n\n row.getToggleRowExpandedProps = makePropGetter(getHooks().getToggleRowExpandedProps, {\n instance: instance,\n row: row\n });\n }\n\n function findExpandedDepth(expanded) {\n var maxDepth = 0;\n Object.keys(expanded).forEach(function (id) {\n var splitId = id.split('.');\n maxDepth = Math.max(maxDepth, splitId.length);\n });\n return maxDepth;\n }\n\n var text = function text(rows, ids, filterValue) {\n rows = rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return String(rowValue).toLowerCase().includes(String(filterValue).toLowerCase());\n });\n });\n return rows;\n };\n\n text.autoRemove = function (val) {\n return !val;\n };\n\n var exactText = function exactText(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;\n });\n });\n };\n\n exactText.autoRemove = function (val) {\n return !val;\n };\n\n var exactTextCase = function exactTextCase(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue !== undefined ? String(rowValue) === String(filterValue) : true;\n });\n });\n };\n\n exactTextCase.autoRemove = function (val) {\n return !val;\n };\n\n var includes = function includes(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue.includes(filterValue);\n });\n });\n };\n\n includes.autoRemove = function (val) {\n return !val || !val.length;\n };\n\n var includesAll = function includesAll(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue && rowValue.length && filterValue.every(function (val) {\n return rowValue.includes(val);\n });\n });\n });\n };\n\n includesAll.autoRemove = function (val) {\n return !val || !val.length;\n };\n\n var includesSome = function includesSome(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue && rowValue.length && filterValue.some(function (val) {\n return rowValue.includes(val);\n });\n });\n });\n };\n\n includesSome.autoRemove = function (val) {\n return !val || !val.length;\n };\n\n var includesValue = function includesValue(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return filterValue.includes(rowValue);\n });\n });\n };\n\n includesValue.autoRemove = function (val) {\n return !val || !val.length;\n };\n\n var exact = function exact(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue === filterValue;\n });\n });\n };\n\n exact.autoRemove = function (val) {\n return typeof val === 'undefined';\n };\n\n var equals = function equals(rows, ids, filterValue) {\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq\n\n return rowValue == filterValue;\n });\n });\n };\n\n equals.autoRemove = function (val) {\n return val == null;\n };\n\n var between = function between(rows, ids, filterValue) {\n var _ref = filterValue || [],\n min = _ref[0],\n max = _ref[1];\n\n min = typeof min === 'number' ? min : -Infinity;\n max = typeof max === 'number' ? max : Infinity;\n\n if (min > max) {\n var temp = min;\n min = max;\n max = temp;\n }\n\n return rows.filter(function (row) {\n return ids.some(function (id) {\n var rowValue = row.values[id];\n return rowValue >= min && rowValue <= max;\n });\n });\n };\n\n between.autoRemove = function (val) {\n return !val || typeof val[0] !== 'number' && typeof val[1] !== 'number';\n };\n\n var filterTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n text: text,\n exactText: exactText,\n exactTextCase: exactTextCase,\n includes: includes,\n includesAll: includesAll,\n includesSome: includesSome,\n includesValue: includesValue,\n exact: exact,\n equals: equals,\n between: between\n });\n\n actions.resetFilters = 'resetFilters';\n actions.setFilter = 'setFilter';\n actions.setAllFilters = 'setAllFilters';\n var useFilters = function useFilters(hooks) {\n hooks.stateReducers.push(reducer$2);\n hooks.useInstance.push(useInstance$2);\n };\n useFilters.pluginName = 'useFilters';\n\n function reducer$2(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n filters: []\n }, state);\n }\n\n if (action.type === actions.resetFilters) {\n return _extends({}, state, {\n filters: instance.initialState.filters || []\n });\n }\n\n if (action.type === actions.setFilter) {\n var columnId = action.columnId,\n filterValue = action.filterValue;\n var allColumns = instance.allColumns,\n userFilterTypes = instance.filterTypes;\n var column = allColumns.find(function (d) {\n return d.id === columnId;\n });\n\n if (!column) {\n throw new Error(\"React-Table: Could not find a column with id: \" + columnId);\n }\n\n var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);\n var previousfilter = state.filters.find(function (d) {\n return d.id === columnId;\n });\n var newFilter = functionalUpdate(filterValue, previousfilter && previousfilter.value); //\n\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return _extends({}, state, {\n filters: state.filters.filter(function (d) {\n return d.id !== columnId;\n })\n });\n }\n\n if (previousfilter) {\n return _extends({}, state, {\n filters: state.filters.map(function (d) {\n if (d.id === columnId) {\n return {\n id: columnId,\n value: newFilter\n };\n }\n\n return d;\n })\n });\n }\n\n return _extends({}, state, {\n filters: [].concat(state.filters, [{\n id: columnId,\n value: newFilter\n }])\n });\n }\n\n if (action.type === actions.setAllFilters) {\n var filters = action.filters;\n var _allColumns = instance.allColumns,\n _userFilterTypes = instance.filterTypes;\n return _extends({}, state, {\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(function (filter) {\n var column = _allColumns.find(function (d) {\n return d.id === filter.id;\n });\n\n var filterMethod = getFilterMethod(column.filter, _userFilterTypes || {}, filterTypes);\n\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)) {\n return false;\n }\n\n return true;\n })\n });\n }\n }\n\n function useInstance$2(instance) {\n var data = instance.data,\n rows = instance.rows,\n flatRows = instance.flatRows,\n rowsById = instance.rowsById,\n allColumns = instance.allColumns,\n userFilterTypes = instance.filterTypes,\n manualFilters = instance.manualFilters,\n _instance$defaultCanF = instance.defaultCanFilter,\n defaultCanFilter = _instance$defaultCanF === void 0 ? false : _instance$defaultCanF,\n disableFilters = instance.disableFilters,\n filters = instance.state.filters,\n dispatch = instance.dispatch,\n _instance$autoResetFi = instance.autoResetFilters,\n autoResetFilters = _instance$autoResetFi === void 0 ? true : _instance$autoResetFi;\n var setFilter = React.useCallback(function (columnId, filterValue) {\n dispatch({\n type: actions.setFilter,\n columnId: columnId,\n filterValue: filterValue\n });\n }, [dispatch]);\n var setAllFilters = React.useCallback(function (filters) {\n dispatch({\n type: actions.setAllFilters,\n filters: filters\n });\n }, [dispatch]);\n allColumns.forEach(function (column) {\n var id = column.id,\n accessor = column.accessor,\n columnDefaultCanFilter = column.defaultCanFilter,\n columnDisableFilters = column.disableFilters; // Determine if a column is filterable\n\n column.canFilter = accessor ? getFirstDefined(columnDisableFilters === true ? false : undefined, disableFilters === true ? false : undefined, true) : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false); // Provide the column a way of updating the filter value\n\n column.setFilter = function (val) {\n return setFilter(column.id, val);\n }; // Provide the current filter value to the column for\n // convenience\n\n\n var found = filters.find(function (d) {\n return d.id === id;\n });\n column.filterValue = found && found.value;\n });\n\n var _React$useMemo = React.useMemo(function () {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById];\n }\n\n var filteredFlatRows = [];\n var filteredRowsById = {}; // Filters top level and nested rows\n\n var filterRows = function filterRows(rows, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n\n var filteredRows = rows;\n filteredRows = filters.reduce(function (filteredSoFar, _ref) {\n var columnId = _ref.id,\n filterValue = _ref.value;\n // Find the filters column\n var column = allColumns.find(function (d) {\n return d.id === columnId;\n });\n\n if (!column) {\n return filteredSoFar;\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar;\n }\n\n var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);\n\n if (!filterMethod) {\n console.warn(\"Could not find a valid 'column.filter' for column with the ID: \" + column.id + \".\");\n return filteredSoFar;\n } // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n\n\n column.filteredRows = filterMethod(filteredSoFar, [columnId], filterValue);\n return column.filteredRows;\n }, rows); // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n\n filteredRows.forEach(function (row) {\n filteredFlatRows.push(row);\n filteredRowsById[row.id] = row;\n\n if (!row.subRows) {\n return;\n }\n\n row.subRows = row.subRows && row.subRows.length > 0 ? filterRows(row.subRows, depth + 1) : row.subRows;\n });\n return filteredRows;\n };\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById];\n }, [manualFilters, filters, rows, flatRows, rowsById, allColumns, userFilterTypes]),\n filteredRows = _React$useMemo[0],\n filteredFlatRows = _React$useMemo[1],\n filteredRowsById = _React$useMemo[2];\n\n React.useMemo(function () {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n var nonFilteredColumns = allColumns.filter(function (column) {\n return !filters.find(function (d) {\n return d.id === column.id;\n });\n }); // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(function (column) {\n column.preFilteredRows = filteredRows;\n column.filteredRows = filteredRows;\n });\n }, [filteredRows, filters, allColumns]);\n var getAutoResetFilters = useGetLatest(autoResetFilters);\n useMountedLayoutEffect(function () {\n if (getAutoResetFilters()) {\n dispatch({\n type: actions.resetFilters\n });\n }\n }, [dispatch, manualFilters ? null : data]);\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows: filteredRows,\n filteredFlatRows: filteredFlatRows,\n filteredRowsById: filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter: setFilter,\n setAllFilters: setAllFilters\n });\n }\n\n actions.resetGlobalFilter = 'resetGlobalFilter';\n actions.setGlobalFilter = 'setGlobalFilter';\n var useGlobalFilter = function useGlobalFilter(hooks) {\n hooks.stateReducers.push(reducer$3);\n hooks.useInstance.push(useInstance$3);\n };\n useGlobalFilter.pluginName = 'useGlobalFilter';\n\n function reducer$3(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return _extends({}, state, {\n globalFilter: instance.initialState.globalFilter || undefined\n });\n }\n\n if (action.type === actions.setGlobalFilter) {\n var filterValue = action.filterValue;\n var userFilterTypes = instance.userFilterTypes;\n var filterMethod = getFilterMethod(instance.globalFilter, userFilterTypes || {}, filterTypes);\n var newFilter = functionalUpdate(filterValue, state.globalFilter); //\n\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n var globalFilter = state.globalFilter,\n stateWithoutGlobalFilter = _objectWithoutPropertiesLoose(state, [\"globalFilter\"]);\n\n return stateWithoutGlobalFilter;\n }\n\n return _extends({}, state, {\n globalFilter: newFilter\n });\n }\n }\n\n function useInstance$3(instance) {\n var data = instance.data,\n rows = instance.rows,\n flatRows = instance.flatRows,\n rowsById = instance.rowsById,\n allColumns = instance.allColumns,\n userFilterTypes = instance.filterTypes,\n globalFilter = instance.globalFilter,\n manualGlobalFilter = instance.manualGlobalFilter,\n globalFilterValue = instance.state.globalFilter,\n dispatch = instance.dispatch,\n _instance$autoResetGl = instance.autoResetGlobalFilter,\n autoResetGlobalFilter = _instance$autoResetGl === void 0 ? true : _instance$autoResetGl,\n disableGlobalFilter = instance.disableGlobalFilter;\n var setGlobalFilter = React.useCallback(function (filterValue) {\n dispatch({\n type: actions.setGlobalFilter,\n filterValue: filterValue\n });\n }, [dispatch]); // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n var _React$useMemo = React.useMemo(function () {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById];\n }\n\n var filteredFlatRows = [];\n var filteredRowsById = {};\n var filterMethod = getFilterMethod(globalFilter, userFilterTypes || {}, filterTypes);\n\n if (!filterMethod) {\n console.warn(\"Could not find a valid 'globalFilter' option.\");\n return rows;\n }\n\n allColumns.forEach(function (column) {\n var columnDisableGlobalFilter = column.disableGlobalFilter;\n column.canFilter = getFirstDefined(columnDisableGlobalFilter === true ? false : undefined, disableGlobalFilter === true ? false : undefined, true);\n });\n var filterableColumns = allColumns.filter(function (c) {\n return c.canFilter === true;\n }); // Filters top level and nested rows\n\n var filterRows = function filterRows(filteredRows) {\n filteredRows = filterMethod(filteredRows, filterableColumns.map(function (d) {\n return d.id;\n }), globalFilterValue);\n filteredRows.forEach(function (row) {\n filteredFlatRows.push(row);\n filteredRowsById[row.id] = row;\n row.subRows = row.subRows && row.subRows.length ? filterRows(row.subRows) : row.subRows;\n });\n return filteredRows;\n };\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById];\n }, [manualGlobalFilter, globalFilterValue, globalFilter, userFilterTypes, allColumns, rows, flatRows, rowsById, disableGlobalFilter]),\n globalFilteredRows = _React$useMemo[0],\n globalFilteredFlatRows = _React$useMemo[1],\n globalFilteredRowsById = _React$useMemo[2];\n\n var getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter);\n useMountedLayoutEffect(function () {\n if (getAutoResetGlobalFilter()) {\n dispatch({\n type: actions.resetGlobalFilter\n });\n }\n }, [dispatch, manualGlobalFilter ? null : data]);\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows: globalFilteredRows,\n globalFilteredFlatRows: globalFilteredFlatRows,\n globalFilteredRowsById: globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter: setGlobalFilter,\n disableGlobalFilter: disableGlobalFilter\n });\n }\n\n function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(function (sum, next) {\n return sum + (typeof next === 'number' ? next : 0);\n }, 0);\n }\n function min(values) {\n var min = values[0] || 0;\n values.forEach(function (value) {\n if (typeof value === 'number') {\n min = Math.min(min, value);\n }\n });\n return min;\n }\n function max(values) {\n var max = values[0] || 0;\n values.forEach(function (value) {\n if (typeof value === 'number') {\n max = Math.max(max, value);\n }\n });\n return max;\n }\n function minMax(values) {\n var min = values[0] || 0;\n var max = values[0] || 0;\n values.forEach(function (value) {\n if (typeof value === 'number') {\n min = Math.min(min, value);\n max = Math.max(max, value);\n }\n });\n return min + \"..\" + max;\n }\n function average(values) {\n return sum(null, values) / values.length;\n }\n function median(values) {\n if (!values.length) {\n return null;\n }\n\n var mid = Math.floor(values.length / 2);\n var nums = [].concat(values).sort(function (a, b) {\n return a - b;\n });\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;\n }\n function unique(values) {\n return Array.from(new Set(values).values());\n }\n function uniqueCount(values) {\n return new Set(values).size;\n }\n function count(values) {\n return values.length;\n }\n\n var aggregations = /*#__PURE__*/Object.freeze({\n __proto__: null,\n sum: sum,\n min: min,\n max: max,\n minMax: minMax,\n average: average,\n median: median,\n unique: unique,\n uniqueCount: uniqueCount,\n count: count\n });\n\n var emptyArray = [];\n var emptyObject = {}; // Actions\n\n actions.resetGroupBy = 'resetGroupBy';\n actions.setGroupBy = 'setGroupBy';\n actions.toggleGroupBy = 'toggleGroupBy';\n var useGroupBy = function useGroupBy(hooks) {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps];\n hooks.stateReducers.push(reducer$4);\n hooks.visibleColumnsDeps.push(function (deps, _ref) {\n var instance = _ref.instance;\n return [].concat(deps, [instance.state.groupBy]);\n });\n hooks.visibleColumns.push(visibleColumns);\n hooks.useInstance.push(useInstance$4);\n hooks.prepareRow.push(prepareRow$1);\n };\n useGroupBy.pluginName = 'useGroupBy';\n\n var defaultGetGroupByToggleProps = function defaultGetGroupByToggleProps(props, _ref2) {\n var header = _ref2.header;\n return [props, {\n onClick: header.canGroupBy ? function (e) {\n e.persist();\n header.toggleGroupBy();\n } : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined\n },\n title: 'Toggle GroupBy'\n }];\n }; // Reducer\n\n\n function reducer$4(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n groupBy: []\n }, state);\n }\n\n if (action.type === actions.resetGroupBy) {\n return _extends({}, state, {\n groupBy: instance.initialState.groupBy || []\n });\n }\n\n if (action.type === actions.setGroupBy) {\n var value = action.value;\n return _extends({}, state, {\n groupBy: value\n });\n }\n\n if (action.type === actions.toggleGroupBy) {\n var columnId = action.columnId,\n setGroupBy = action.value;\n var resolvedGroupBy = typeof setGroupBy !== 'undefined' ? setGroupBy : !state.groupBy.includes(columnId);\n\n if (resolvedGroupBy) {\n return _extends({}, state, {\n groupBy: [].concat(state.groupBy, [columnId])\n });\n }\n\n return _extends({}, state, {\n groupBy: state.groupBy.filter(function (d) {\n return d !== columnId;\n })\n });\n }\n }\n\n function visibleColumns(columns, _ref3) {\n var groupBy = _ref3.instance.state.groupBy;\n // Sort grouped columns to the start of the column list\n // before the headers are built\n var groupByColumns = groupBy.map(function (g) {\n return columns.find(function (col) {\n return col.id === g;\n });\n }).filter(Boolean);\n var nonGroupByColumns = columns.filter(function (col) {\n return !groupBy.includes(col.id);\n });\n columns = [].concat(groupByColumns, nonGroupByColumns);\n columns.forEach(function (column) {\n column.isGrouped = groupBy.includes(column.id);\n column.groupedIndex = groupBy.indexOf(column.id);\n });\n return columns;\n }\n\n var defaultUserAggregations = {};\n\n function useInstance$4(instance) {\n var data = instance.data,\n rows = instance.rows,\n flatRows = instance.flatRows,\n rowsById = instance.rowsById,\n allColumns = instance.allColumns,\n flatHeaders = instance.flatHeaders,\n _instance$groupByFn = instance.groupByFn,\n groupByFn = _instance$groupByFn === void 0 ? defaultGroupByFn : _instance$groupByFn,\n manualGroupBy = instance.manualGroupBy,\n _instance$aggregation = instance.aggregations,\n userAggregations = _instance$aggregation === void 0 ? defaultUserAggregations : _instance$aggregation,\n plugins = instance.plugins,\n groupBy = instance.state.groupBy,\n dispatch = instance.dispatch,\n _instance$autoResetGr = instance.autoResetGroupBy,\n autoResetGroupBy = _instance$autoResetGr === void 0 ? true : _instance$autoResetGr,\n disableGroupBy = instance.disableGroupBy,\n defaultCanGroupBy = instance.defaultCanGroupBy,\n getHooks = instance.getHooks;\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy');\n var getInstance = useGetLatest(instance);\n allColumns.forEach(function (column) {\n var accessor = column.accessor,\n defaultColumnGroupBy = column.defaultGroupBy,\n columnDisableGroupBy = column.disableGroupBy;\n column.canGroupBy = accessor ? getFirstDefined(column.canGroupBy, columnDisableGroupBy === true ? false : undefined, disableGroupBy === true ? false : undefined, true) : getFirstDefined(column.canGroupBy, defaultColumnGroupBy, defaultCanGroupBy, false);\n\n if (column.canGroupBy) {\n column.toggleGroupBy = function () {\n return instance.toggleGroupBy(column.id);\n };\n }\n\n column.Aggregated = column.Aggregated || column.Cell;\n });\n var toggleGroupBy = React.useCallback(function (columnId, value) {\n dispatch({\n type: actions.toggleGroupBy,\n columnId: columnId,\n value: value\n });\n }, [dispatch]);\n var setGroupBy = React.useCallback(function (value) {\n dispatch({\n type: actions.setGroupBy,\n value: value\n });\n }, [dispatch]);\n flatHeaders.forEach(function (header) {\n header.getGroupByToggleProps = makePropGetter(getHooks().getGroupByToggleProps, {\n instance: getInstance(),\n header: header\n });\n });\n\n var _React$useMemo = React.useMemo(function () {\n if (manualGroupBy || !groupBy.length) {\n return [rows, flatRows, rowsById, emptyArray, emptyObject, flatRows, rowsById];\n } // Ensure that the list of filtered columns exist\n\n\n var existingGroupBy = groupBy.filter(function (g) {\n return allColumns.find(function (col) {\n return col.id === g;\n });\n }); // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n\n var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {\n var values = {};\n allColumns.forEach(function (column) {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;\n return;\n } // Aggregate the values\n\n\n var aggregateFn = typeof column.aggregate === 'function' ? column.aggregate : userAggregations[column.aggregate] || aggregations[column.aggregate];\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n var groupedValues = groupedRows.map(function (row) {\n return row.values[column.id];\n }); // Get the columnValues to aggregate\n\n var leafValues = leafRows.map(function (row) {\n var columnValue = row.values[column.id];\n\n if (!depth && column.aggregateValue) {\n var aggregateValueFn = typeof column.aggregateValue === 'function' ? column.aggregateValue : userAggregations[column.aggregateValue] || aggregations[column.aggregateValue];\n\n if (!aggregateValueFn) {\n console.info({\n column: column\n });\n throw new Error(\"React Table: Invalid column.aggregateValue option for column listed above\");\n }\n\n columnValue = aggregateValueFn(columnValue, row, column);\n }\n\n return columnValue;\n });\n values[column.id] = aggregateFn(leafValues, groupedValues);\n } else if (column.aggregate) {\n console.info({\n column: column\n });\n throw new Error(\"React Table: Invalid column.aggregate option for column listed above\");\n } else {\n values[column.id] = null;\n }\n });\n return values;\n };\n\n var groupedFlatRows = [];\n var groupedRowsById = {};\n var onlyGroupedFlatRows = [];\n var onlyGroupedRowsById = {};\n var nonGroupedFlatRows = [];\n var nonGroupedRowsById = {}; // Recursively group the data\n\n var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {\n if (depth === void 0) {\n depth = 0;\n }\n\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map(function (row) {\n return _extends({}, row, {\n depth: depth\n });\n });\n }\n\n var columnId = existingGroupBy[depth]; // Group the rows together for this level\n\n var rowGroupsMap = groupByFn(rows, columnId); // Peform aggregations for each group\n\n var aggregatedGroupedRows = Object.entries(rowGroupsMap).map(function (_ref4, index) {\n var groupByVal = _ref4[0],\n groupedRows = _ref4[1];\n var id = columnId + \":\" + groupByVal;\n id = parentId ? parentId + \">\" + id : id; // First, Recurse to group sub rows before aggregation\n\n var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group\n\n var leafRows = depth ? flattenBy(groupedRows, 'leafRows') : groupedRows;\n var values = aggregateRowsToValues(leafRows, groupedRows, depth);\n var row = {\n id: id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal: groupByVal,\n values: values,\n subRows: subRows,\n leafRows: leafRows,\n depth: depth,\n index: index\n };\n subRows.forEach(function (subRow) {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow);\n onlyGroupedRowsById[subRow.id] = subRow;\n } else {\n nonGroupedFlatRows.push(subRow);\n nonGroupedRowsById[subRow.id] = subRow;\n }\n });\n return row;\n });\n return aggregatedGroupedRows;\n };\n\n var groupedRows = groupUpRecursively(rows);\n groupedRows.forEach(function (subRow) {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow);\n onlyGroupedRowsById[subRow.id] = subRow;\n } else {\n nonGroupedFlatRows.push(subRow);\n nonGroupedRowsById[subRow.id] = subRow;\n }\n }); // Assign the new data\n\n return [groupedRows, groupedFlatRows, groupedRowsById, onlyGroupedFlatRows, onlyGroupedRowsById, nonGroupedFlatRows, nonGroupedRowsById];\n }, [manualGroupBy, groupBy, rows, flatRows, rowsById, allColumns, userAggregations, groupByFn]),\n groupedRows = _React$useMemo[0],\n groupedFlatRows = _React$useMemo[1],\n groupedRowsById = _React$useMemo[2],\n onlyGroupedFlatRows = _React$useMemo[3],\n onlyGroupedRowsById = _React$useMemo[4],\n nonGroupedFlatRows = _React$useMemo[5],\n nonGroupedRowsById = _React$useMemo[6];\n\n var getAutoResetGroupBy = useGetLatest(autoResetGroupBy);\n useMountedLayoutEffect(function () {\n if (getAutoResetGroupBy()) {\n dispatch({\n type: actions.resetGroupBy\n });\n }\n }, [dispatch, manualGroupBy ? null : data]);\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows: groupedRows,\n groupedFlatRows: groupedFlatRows,\n groupedRowsById: groupedRowsById,\n onlyGroupedFlatRows: onlyGroupedFlatRows,\n onlyGroupedRowsById: onlyGroupedRowsById,\n nonGroupedFlatRows: nonGroupedFlatRows,\n nonGroupedRowsById: nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy: toggleGroupBy,\n setGroupBy: setGroupBy\n });\n }\n\n function prepareRow$1(row) {\n row.allCells.forEach(function (cell) {\n var _row$subRows;\n\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID; // Placeholder cells are any columns in the groupBy that are not grouped\n\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped; // Aggregated cells are not grouped, not repeated, but still have subRows\n\n cell.isAggregated = !cell.isGrouped && !cell.isPlaceholder && ((_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length);\n });\n }\n\n function defaultGroupByFn(rows, columnId) {\n return rows.reduce(function (prev, row, i) {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n var resKey = \"\" + row.values[columnId];\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : [];\n prev[resKey].push(row);\n return prev;\n }, {});\n }\n\n var reSplitAlphaNumeric = /([0-9]+)/gm; // Mixed sorting is slow, but very inclusive of many edge cases.\n // It handles numbers, mixed alphanumeric combinations, and even\n // null, undefined, and Infinity\n\n var alphanumeric = function alphanumeric(rowA, rowB, columnId) {\n var _getRowValuesByColumn = getRowValuesByColumnID(rowA, rowB, columnId),\n a = _getRowValuesByColumn[0],\n b = _getRowValuesByColumn[1]; // Force to strings (or \"\" for unsupported types)\n\n\n a = toString(a);\n b = toString(b); // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n\n a = a.split(reSplitAlphaNumeric).filter(Boolean);\n b = b.split(reSplitAlphaNumeric).filter(Boolean); // While\n\n while (a.length && b.length) {\n var aa = a.shift();\n var bb = b.shift();\n var an = parseInt(aa, 10);\n var bn = parseInt(bb, 10);\n var combo = [an, bn].sort(); // Both are string\n\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1;\n }\n\n if (bb > aa) {\n return -1;\n }\n\n continue;\n } // One is a string, one is a number\n\n\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1;\n } // Both are numbers\n\n\n if (an > bn) {\n return 1;\n }\n\n if (bn > an) {\n return -1;\n }\n }\n\n return a.length - b.length;\n };\n function datetime(rowA, rowB, columnId) {\n var _getRowValuesByColumn2 = getRowValuesByColumnID(rowA, rowB, columnId),\n a = _getRowValuesByColumn2[0],\n b = _getRowValuesByColumn2[1];\n\n a = a.getTime();\n b = b.getTime();\n return compareBasic(a, b);\n }\n function basic(rowA, rowB, columnId) {\n var _getRowValuesByColumn3 = getRowValuesByColumnID(rowA, rowB, columnId),\n a = _getRowValuesByColumn3[0],\n b = _getRowValuesByColumn3[1];\n\n return compareBasic(a, b);\n }\n function string(rowA, rowB, columnId) {\n var _getRowValuesByColumn4 = getRowValuesByColumnID(rowA, rowB, columnId),\n a = _getRowValuesByColumn4[0],\n b = _getRowValuesByColumn4[1];\n\n a = a.split('').filter(Boolean);\n b = b.split('').filter(Boolean);\n\n while (a.length && b.length) {\n var aa = a.shift();\n var bb = b.shift();\n var alower = aa.toLowerCase();\n var blower = bb.toLowerCase(); // Case insensitive comparison until characters match\n\n if (alower > blower) {\n return 1;\n }\n\n if (blower > alower) {\n return -1;\n } // If lowercase characters are identical\n\n\n if (aa > bb) {\n return 1;\n }\n\n if (bb > aa) {\n return -1;\n }\n\n continue;\n }\n\n return a.length - b.length;\n }\n function number(rowA, rowB, columnId) {\n var _getRowValuesByColumn5 = getRowValuesByColumnID(rowA, rowB, columnId),\n a = _getRowValuesByColumn5[0],\n b = _getRowValuesByColumn5[1];\n\n var replaceNonNumeric = /[^0-9.]/gi;\n a = Number(String(a).replace(replaceNonNumeric, ''));\n b = Number(String(b).replace(replaceNonNumeric, ''));\n return compareBasic(a, b);\n } // Utils\n\n function compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1;\n }\n\n function getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]];\n }\n\n function toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return '';\n }\n\n return String(a);\n }\n\n if (typeof a === 'string') {\n return a;\n }\n\n return '';\n }\n\n var sortTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n alphanumeric: alphanumeric,\n datetime: datetime,\n basic: basic,\n string: string,\n number: number\n });\n\n actions.resetSortBy = 'resetSortBy';\n actions.setSortBy = 'setSortBy';\n actions.toggleSortBy = 'toggleSortBy';\n actions.clearSortBy = 'clearSortBy';\n defaultColumn.sortType = 'alphanumeric';\n defaultColumn.sortDescFirst = false;\n var useSortBy = function useSortBy(hooks) {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps];\n hooks.stateReducers.push(reducer$5);\n hooks.useInstance.push(useInstance$5);\n };\n useSortBy.pluginName = 'useSortBy';\n\n var defaultGetSortByToggleProps = function defaultGetSortByToggleProps(props, _ref) {\n var instance = _ref.instance,\n column = _ref.column;\n var _instance$isMultiSort = instance.isMultiSortEvent,\n isMultiSortEvent = _instance$isMultiSort === void 0 ? function (e) {\n return e.shiftKey;\n } : _instance$isMultiSort;\n return [props, {\n onClick: column.canSort ? function (e) {\n e.persist();\n column.toggleSortBy(undefined, !instance.disableMultiSort && isMultiSortEvent(e));\n } : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined\n },\n title: column.canSort ? 'Toggle SortBy' : undefined\n }];\n }; // Reducer\n\n\n function reducer$5(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n sortBy: []\n }, state);\n }\n\n if (action.type === actions.resetSortBy) {\n return _extends({}, state, {\n sortBy: instance.initialState.sortBy || []\n });\n }\n\n if (action.type === actions.clearSortBy) {\n var sortBy = state.sortBy;\n var newSortBy = sortBy.filter(function (d) {\n return d.id !== action.columnId;\n });\n return _extends({}, state, {\n sortBy: newSortBy\n });\n }\n\n if (action.type === actions.setSortBy) {\n var _sortBy = action.sortBy;\n return _extends({}, state, {\n sortBy: _sortBy\n });\n }\n\n if (action.type === actions.toggleSortBy) {\n var columnId = action.columnId,\n desc = action.desc,\n multi = action.multi;\n var allColumns = instance.allColumns,\n disableMultiSort = instance.disableMultiSort,\n disableSortRemove = instance.disableSortRemove,\n disableMultiRemove = instance.disableMultiRemove,\n _instance$maxMultiSor = instance.maxMultiSortColCount,\n maxMultiSortColCount = _instance$maxMultiSor === void 0 ? Number.MAX_SAFE_INTEGER : _instance$maxMultiSor;\n var _sortBy2 = state.sortBy; // Find the column for this columnId\n\n var column = allColumns.find(function (d) {\n return d.id === columnId;\n });\n var sortDescFirst = column.sortDescFirst; // Find any existing sortBy for this column\n\n var existingSortBy = _sortBy2.find(function (d) {\n return d.id === columnId;\n });\n\n var existingIndex = _sortBy2.findIndex(function (d) {\n return d.id === columnId;\n });\n\n var hasDescDefined = typeof desc !== 'undefined' && desc !== null;\n var _newSortBy = []; // What should we do with this sort action?\n\n var sortAction;\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle';\n } else {\n sortAction = 'add';\n }\n } else {\n // Normal mode\n if (existingIndex !== _sortBy2.length - 1 || _sortBy2.length !== 1) {\n sortAction = 'replace';\n } else if (existingSortBy) {\n sortAction = 'toggle';\n } else {\n sortAction = 'replace';\n }\n } // Handle toggle states that will remove the sortBy\n\n\n if (sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && ( // Must not be setting desc\n multi ? !disableMultiRemove : true) && ( // If multi, don't allow if disableMultiRemove\n existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc && !sortDescFirst || !existingSortBy.desc && sortDescFirst)) {\n sortAction = 'remove';\n }\n\n if (sortAction === 'replace') {\n _newSortBy = [{\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst\n }];\n } else if (sortAction === 'add') {\n _newSortBy = [].concat(_sortBy2, [{\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst\n }]); // Take latest n columns\n\n _newSortBy.splice(0, _newSortBy.length - maxMultiSortColCount);\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n _newSortBy = _sortBy2.map(function (d) {\n if (d.id === columnId) {\n return _extends({}, d, {\n desc: hasDescDefined ? desc : !existingSortBy.desc\n });\n }\n\n return d;\n });\n } else if (sortAction === 'remove') {\n _newSortBy = _sortBy2.filter(function (d) {\n return d.id !== columnId;\n });\n }\n\n return _extends({}, state, {\n sortBy: _newSortBy\n });\n }\n }\n\n function useInstance$5(instance) {\n var data = instance.data,\n rows = instance.rows,\n flatRows = instance.flatRows,\n allColumns = instance.allColumns,\n _instance$orderByFn = instance.orderByFn,\n orderByFn = _instance$orderByFn === void 0 ? defaultOrderByFn : _instance$orderByFn,\n userSortTypes = instance.sortTypes,\n manualSortBy = instance.manualSortBy,\n defaultCanSort = instance.defaultCanSort,\n disableSortBy = instance.disableSortBy,\n flatHeaders = instance.flatHeaders,\n sortBy = instance.state.sortBy,\n dispatch = instance.dispatch,\n plugins = instance.plugins,\n getHooks = instance.getHooks,\n _instance$autoResetSo = instance.autoResetSortBy,\n autoResetSortBy = _instance$autoResetSo === void 0 ? true : _instance$autoResetSo;\n ensurePluginOrder(plugins, ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'], 'useSortBy');\n var setSortBy = React.useCallback(function (sortBy) {\n dispatch({\n type: actions.setSortBy,\n sortBy: sortBy\n });\n }, [dispatch]); // Updates sorting based on a columnId, desc flag and multi flag\n\n var toggleSortBy = React.useCallback(function (columnId, desc, multi) {\n dispatch({\n type: actions.toggleSortBy,\n columnId: columnId,\n desc: desc,\n multi: multi\n });\n }, [dispatch]); // use reference to avoid memory leak in #1608\n\n var getInstance = useGetLatest(instance); // Add the getSortByToggleProps method to columns and headers\n\n flatHeaders.forEach(function (column) {\n var accessor = column.accessor,\n defaultColumnCanSort = column.canSort,\n columnDisableSortBy = column.disableSortBy,\n id = column.id;\n var canSort = accessor ? getFirstDefined(columnDisableSortBy === true ? false : undefined, disableSortBy === true ? false : undefined, true) : getFirstDefined(defaultCanSort, defaultColumnCanSort, false);\n column.canSort = canSort;\n\n if (column.canSort) {\n column.toggleSortBy = function (desc, multi) {\n return toggleSortBy(column.id, desc, multi);\n };\n\n column.clearSortBy = function () {\n dispatch({\n type: actions.clearSortBy,\n columnId: column.id\n });\n };\n }\n\n column.getSortByToggleProps = makePropGetter(getHooks().getSortByToggleProps, {\n instance: getInstance(),\n column: column\n });\n var columnSort = sortBy.find(function (d) {\n return d.id === id;\n });\n column.isSorted = !!columnSort;\n column.sortedIndex = sortBy.findIndex(function (d) {\n return d.id === id;\n });\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined;\n });\n\n var _React$useMemo = React.useMemo(function () {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows];\n }\n\n var sortedFlatRows = []; // Filter out sortBys that correspond to non existing columns\n\n var availableSortBy = sortBy.filter(function (sort) {\n return allColumns.find(function (col) {\n return col.id === sort.id;\n });\n });\n\n var sortData = function sortData(rows) {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n var sortedData = orderByFn(rows, availableSortBy.map(function (sort) {\n // Support custom sorting methods for each column\n var column = allColumns.find(function (d) {\n return d.id === sort.id;\n });\n\n if (!column) {\n throw new Error(\"React-Table: Could not find a column with id: \" + sort.id + \" while sorting\");\n }\n\n var sortType = column.sortType; // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n\n var sortMethod = isFunction(sortType) || (userSortTypes || {})[sortType] || sortTypes[sortType];\n\n if (!sortMethod) {\n throw new Error(\"React-Table: Could not find a valid sortType of '\" + sortType + \"' for column '\" + sort.id + \"'.\");\n } // Return the correct sortFn.\n // This function should always return in ascending order\n\n\n return function (a, b) {\n return sortMethod(a, b, sort.id, sort.desc);\n };\n }), // Map the directions\n availableSortBy.map(function (sort) {\n // Detect and use the sortInverted option\n var column = allColumns.find(function (d) {\n return d.id === sort.id;\n });\n\n if (column && column.sortInverted) {\n return sort.desc;\n }\n\n return !sort.desc;\n })); // If there are sub-rows, sort them\n\n sortedData.forEach(function (row) {\n sortedFlatRows.push(row);\n\n if (!row.subRows || row.subRows.length === 0) {\n return;\n }\n\n row.subRows = sortData(row.subRows);\n });\n return sortedData;\n };\n\n return [sortData(rows), sortedFlatRows];\n }, [manualSortBy, sortBy, rows, flatRows, allColumns, orderByFn, userSortTypes]),\n sortedRows = _React$useMemo[0],\n sortedFlatRows = _React$useMemo[1];\n\n var getAutoResetSortBy = useGetLatest(autoResetSortBy);\n useMountedLayoutEffect(function () {\n if (getAutoResetSortBy()) {\n dispatch({\n type: actions.resetSortBy\n });\n }\n }, [manualSortBy ? null : data]);\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows: sortedRows,\n sortedFlatRows: sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy: setSortBy,\n toggleSortBy: toggleSortBy\n });\n }\n\n function defaultOrderByFn(arr, funcs, dirs) {\n return [].concat(arr).sort(function (rowA, rowB) {\n for (var i = 0; i < funcs.length; i += 1) {\n var sortFn = funcs[i];\n var desc = dirs[i] === false || dirs[i] === 'desc';\n var sortInt = sortFn(rowA, rowB);\n\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt;\n }\n }\n\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index;\n });\n }\n\n var pluginName = 'usePagination'; // Actions\n\n actions.resetPage = 'resetPage';\n actions.gotoPage = 'gotoPage';\n actions.setPageSize = 'setPageSize';\n var usePagination = function usePagination(hooks) {\n hooks.stateReducers.push(reducer$6);\n hooks.useInstance.push(useInstance$6);\n };\n usePagination.pluginName = pluginName;\n\n function reducer$6(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n pageSize: 10,\n pageIndex: 0\n }, state);\n }\n\n if (action.type === actions.resetPage) {\n return _extends({}, state, {\n pageIndex: instance.initialState.pageIndex || 0\n });\n }\n\n if (action.type === actions.gotoPage) {\n var pageCount = instance.pageCount,\n page = instance.page;\n var newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex);\n var canNavigate = false;\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate = pageCount === -1 ? page.length >= state.pageSize : newPageIndex < pageCount;\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1;\n }\n\n if (!canNavigate) {\n return state;\n }\n\n return _extends({}, state, {\n pageIndex: newPageIndex\n });\n }\n\n if (action.type === actions.setPageSize) {\n var pageSize = action.pageSize;\n var topRowIndex = state.pageSize * state.pageIndex;\n var pageIndex = Math.floor(topRowIndex / pageSize);\n return _extends({}, state, {\n pageIndex: pageIndex,\n pageSize: pageSize\n });\n }\n }\n\n function useInstance$6(instance) {\n var rows = instance.rows,\n _instance$autoResetPa = instance.autoResetPage,\n autoResetPage = _instance$autoResetPa === void 0 ? true : _instance$autoResetPa,\n _instance$manualExpan = instance.manualExpandedKey,\n manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,\n plugins = instance.plugins,\n userPageCount = instance.pageCount,\n _instance$paginateExp = instance.paginateExpandedRows,\n paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,\n _instance$expandSubRo = instance.expandSubRows,\n expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,\n _instance$state = instance.state,\n pageSize = _instance$state.pageSize,\n pageIndex = _instance$state.pageIndex,\n expanded = _instance$state.expanded,\n globalFilter = _instance$state.globalFilter,\n filters = _instance$state.filters,\n groupBy = _instance$state.groupBy,\n sortBy = _instance$state.sortBy,\n dispatch = instance.dispatch,\n data = instance.data,\n manualPagination = instance.manualPagination;\n ensurePluginOrder(plugins, ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'], 'usePagination');\n var getAutoResetPage = useGetLatest(autoResetPage);\n useMountedLayoutEffect(function () {\n if (getAutoResetPage()) {\n dispatch({\n type: actions.resetPage\n });\n }\n }, [dispatch, manualPagination ? null : data, globalFilter, filters, groupBy, sortBy]);\n var pageCount = manualPagination ? userPageCount : Math.ceil(rows.length / pageSize);\n var pageOptions = React.useMemo(function () {\n return pageCount > 0 ? [].concat(new Array(pageCount)).fill(null).map(function (d, i) {\n return i;\n }) : [];\n }, [pageCount]);\n var page = React.useMemo(function () {\n var page;\n\n if (manualPagination) {\n page = rows;\n } else {\n var pageStart = pageSize * pageIndex;\n var pageEnd = pageStart + pageSize;\n page = rows.slice(pageStart, pageEnd);\n }\n\n if (paginateExpandedRows) {\n return page;\n }\n\n return expandRows(page, {\n manualExpandedKey: manualExpandedKey,\n expanded: expanded,\n expandSubRows: expandSubRows\n });\n }, [expandSubRows, expanded, manualExpandedKey, manualPagination, pageIndex, pageSize, paginateExpandedRows, rows]);\n var canPreviousPage = pageIndex > 0;\n var canNextPage = pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1;\n var gotoPage = React.useCallback(function (pageIndex) {\n dispatch({\n type: actions.gotoPage,\n pageIndex: pageIndex\n });\n }, [dispatch]);\n var previousPage = React.useCallback(function () {\n return gotoPage(function (old) {\n return old - 1;\n });\n }, [gotoPage]);\n var nextPage = React.useCallback(function () {\n return gotoPage(function (old) {\n return old + 1;\n });\n }, [gotoPage]);\n var setPageSize = React.useCallback(function (pageSize) {\n dispatch({\n type: actions.setPageSize,\n pageSize: pageSize\n });\n }, [dispatch]);\n Object.assign(instance, {\n pageOptions: pageOptions,\n pageCount: pageCount,\n page: page,\n canPreviousPage: canPreviousPage,\n canNextPage: canNextPage,\n gotoPage: gotoPage,\n previousPage: previousPage,\n nextPage: nextPage,\n setPageSize: setPageSize\n });\n }\n\n actions.resetPivot = 'resetPivot';\n actions.togglePivot = 'togglePivot';\n var _UNSTABLE_usePivotColumns = function _UNSTABLE_usePivotColumns(hooks) {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps];\n hooks.stateReducers.push(reducer$7);\n hooks.useInstanceAfterData.push(useInstanceAfterData);\n hooks.allColumns.push(allColumns);\n hooks.accessValue.push(accessValue);\n hooks.materializedColumns.push(materializedColumns);\n hooks.materializedColumnsDeps.push(materializedColumnsDeps);\n hooks.visibleColumns.push(visibleColumns$1);\n hooks.visibleColumnsDeps.push(visibleColumnsDeps);\n hooks.useInstance.push(useInstance$7);\n hooks.prepareRow.push(prepareRow$2);\n };\n _UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns';\n var defaultPivotColumns = [];\n\n var defaultGetPivotToggleProps = function defaultGetPivotToggleProps(props, _ref) {\n var header = _ref.header;\n return [props, {\n onClick: header.canPivot ? function (e) {\n e.persist();\n header.togglePivot();\n } : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined\n },\n title: 'Toggle Pivot'\n }];\n }; // Reducer\n\n\n function reducer$7(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n pivotColumns: defaultPivotColumns\n }, state);\n }\n\n if (action.type === actions.resetPivot) {\n return _extends({}, state, {\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns\n });\n }\n\n if (action.type === actions.togglePivot) {\n var columnId = action.columnId,\n setPivot = action.value;\n var resolvedPivot = typeof setPivot !== 'undefined' ? setPivot : !state.pivotColumns.includes(columnId);\n\n if (resolvedPivot) {\n return _extends({}, state, {\n pivotColumns: [].concat(state.pivotColumns, [columnId])\n });\n }\n\n return _extends({}, state, {\n pivotColumns: state.pivotColumns.filter(function (d) {\n return d !== columnId;\n })\n });\n }\n }\n\n function useInstanceAfterData(instance) {\n instance.allColumns.forEach(function (column) {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id);\n });\n }\n\n function allColumns(columns, _ref2) {\n var instance = _ref2.instance;\n columns.forEach(function (column) {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id);\n column.uniqueValues = new Set();\n });\n return columns;\n }\n\n function accessValue(value, _ref3) {\n var column = _ref3.column;\n\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value);\n }\n\n return value;\n }\n\n function materializedColumns(materialized, _ref4) {\n var instance = _ref4.instance;\n var allColumns = instance.allColumns,\n state = instance.state;\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized;\n }\n\n var pivotColumns = state.pivotColumns.map(function (id) {\n return allColumns.find(function (d) {\n return d.id === id;\n });\n }).filter(Boolean);\n var sourceColumns = allColumns.filter(function (d) {\n return !d.isPivotSource && !state.groupBy.includes(d.id) && !state.pivotColumns.includes(d.id);\n });\n\n var buildPivotColumns = function buildPivotColumns(depth, parent, pivotFilters) {\n if (depth === void 0) {\n depth = 0;\n }\n\n if (pivotFilters === void 0) {\n pivotFilters = [];\n }\n\n var pivotColumn = pivotColumns[depth];\n\n if (!pivotColumn) {\n return sourceColumns.map(function (sourceColumn) {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n return _extends({}, sourceColumn, {\n canPivot: false,\n isPivoted: true,\n parent: parent,\n depth: depth,\n id: \"\" + (parent ? parent.id + \".\" + sourceColumn.id : sourceColumn.id),\n accessor: function accessor(originalRow, i, row) {\n if (pivotFilters.every(function (filter) {\n return filter(row);\n })) {\n return row.values[sourceColumn.id];\n }\n }\n });\n });\n }\n\n var uniqueValues = Array.from(pivotColumn.uniqueValues).sort();\n return uniqueValues.map(function (uniqueValue) {\n var columnGroup = _extends({}, pivotColumn, {\n Header: pivotColumn.PivotHeader || typeof pivotColumn.header === 'string' ? pivotColumn.Header + \": \" + uniqueValue : uniqueValue,\n isPivotGroup: true,\n parent: parent,\n depth: depth,\n id: parent ? parent.id + \".\" + pivotColumn.id + \".\" + uniqueValue : pivotColumn.id + \".\" + uniqueValue,\n pivotValue: uniqueValue\n });\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [].concat(pivotFilters, [function (row) {\n return row.values[pivotColumn.id] === uniqueValue;\n }]));\n return columnGroup;\n });\n };\n\n var newMaterialized = flattenColumns(buildPivotColumns());\n return [].concat(materialized, newMaterialized);\n }\n\n function materializedColumnsDeps(deps, _ref5) {\n var _ref5$instance$state = _ref5.instance.state,\n pivotColumns = _ref5$instance$state.pivotColumns,\n groupBy = _ref5$instance$state.groupBy;\n return [].concat(deps, [pivotColumns, groupBy]);\n }\n\n function visibleColumns$1(visibleColumns, _ref6) {\n var state = _ref6.instance.state;\n visibleColumns = visibleColumns.filter(function (d) {\n return !d.isPivotSource;\n });\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(function (column) {\n return column.isGrouped || column.isPivoted;\n });\n }\n\n return visibleColumns;\n }\n\n function visibleColumnsDeps(deps, _ref7) {\n var instance = _ref7.instance;\n return [].concat(deps, [instance.state.pivotColumns, instance.state.groupBy]);\n }\n\n function useInstance$7(instance) {\n var columns = instance.columns,\n allColumns = instance.allColumns,\n flatHeaders = instance.flatHeaders,\n getHooks = instance.getHooks,\n plugins = instance.plugins,\n dispatch = instance.dispatch,\n _instance$autoResetPi = instance.autoResetPivot,\n autoResetPivot = _instance$autoResetPi === void 0 ? true : _instance$autoResetPi,\n manaulPivot = instance.manaulPivot,\n disablePivot = instance.disablePivot,\n defaultCanPivot = instance.defaultCanPivot;\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns');\n var getInstance = useGetLatest(instance);\n allColumns.forEach(function (column) {\n var accessor = column.accessor,\n defaultColumnPivot = column.defaultPivot,\n columnDisablePivot = column.disablePivot;\n column.canPivot = accessor ? getFirstDefined(column.canPivot, columnDisablePivot === true ? false : undefined, disablePivot === true ? false : undefined, true) : getFirstDefined(column.canPivot, defaultColumnPivot, defaultCanPivot, false);\n\n if (column.canPivot) {\n column.togglePivot = function () {\n return instance.togglePivot(column.id);\n };\n }\n\n column.Aggregated = column.Aggregated || column.Cell;\n });\n\n var togglePivot = function togglePivot(columnId, value) {\n dispatch({\n type: actions.togglePivot,\n columnId: columnId,\n value: value\n });\n };\n\n flatHeaders.forEach(function (header) {\n header.getPivotToggleProps = makePropGetter(getHooks().getPivotToggleProps, {\n instance: getInstance(),\n header: header\n });\n });\n var getAutoResetPivot = useGetLatest(autoResetPivot);\n useMountedLayoutEffect(function () {\n if (getAutoResetPivot()) {\n dispatch({\n type: actions.resetPivot\n });\n }\n }, [dispatch, manaulPivot ? null : columns]);\n Object.assign(instance, {\n togglePivot: togglePivot\n });\n }\n\n function prepareRow$2(row) {\n row.allCells.forEach(function (cell) {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted;\n });\n }\n\n var pluginName$1 = 'useRowSelect'; // Actions\n\n actions.resetSelectedRows = 'resetSelectedRows';\n actions.toggleAllRowsSelected = 'toggleAllRowsSelected';\n actions.toggleRowSelected = 'toggleRowSelected';\n actions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected';\n var useRowSelect = function useRowSelect(hooks) {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps];\n hooks.stateReducers.push(reducer$8);\n hooks.useInstance.push(useInstance$8);\n hooks.prepareRow.push(prepareRow$3);\n };\n useRowSelect.pluginName = pluginName$1;\n\n var defaultGetToggleRowSelectedProps = function defaultGetToggleRowSelectedProps(props, _ref) {\n var instance = _ref.instance,\n row = _ref.row;\n var _instance$manualRowSe = instance.manualRowSelectedKey,\n manualRowSelectedKey = _instance$manualRowSe === void 0 ? 'isSelected' : _instance$manualRowSe;\n var checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [props, {\n onChange: function onChange(e) {\n row.toggleRowSelected(e.target.checked);\n },\n style: {\n cursor: 'pointer'\n },\n checked: checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected\n }];\n };\n\n var defaultGetToggleAllRowsSelectedProps = function defaultGetToggleAllRowsSelectedProps(props, _ref2) {\n var instance = _ref2.instance;\n return [props, {\n onChange: function onChange(e) {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n style: {\n cursor: 'pointer'\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(!instance.isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)\n }];\n };\n\n var defaultGetToggleAllPageRowsSelectedProps = function defaultGetToggleAllPageRowsSelectedProps(props, _ref3) {\n var instance = _ref3.instance;\n return [props, {\n onChange: function onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n style: {\n cursor: 'pointer'\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(!instance.isAllPageRowsSelected && instance.page.some(function (_ref4) {\n var id = _ref4.id;\n return instance.state.selectedRowIds[id];\n }))\n }];\n }; // eslint-disable-next-line max-params\n\n\n function reducer$8(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n selectedRowIds: {}\n }, state);\n }\n\n if (action.type === actions.resetSelectedRows) {\n return _extends({}, state, {\n selectedRowIds: instance.initialState.selectedRowIds || {}\n });\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n var setSelected = action.value;\n var isAllRowsSelected = instance.isAllRowsSelected,\n rowsById = instance.rowsById,\n _instance$nonGroupedR = instance.nonGroupedRowsById,\n nonGroupedRowsById = _instance$nonGroupedR === void 0 ? rowsById : _instance$nonGroupedR;\n var selectAll = typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected; // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n\n var selectedRowIds = Object.assign({}, state.selectedRowIds);\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(function (rowId) {\n selectedRowIds[rowId] = true;\n });\n } else {\n Object.keys(nonGroupedRowsById).forEach(function (rowId) {\n delete selectedRowIds[rowId];\n });\n }\n\n return _extends({}, state, {\n selectedRowIds: selectedRowIds\n });\n }\n\n if (action.type === actions.toggleRowSelected) {\n var id = action.id,\n _setSelected = action.value;\n var _rowsById = instance.rowsById,\n _instance$selectSubRo = instance.selectSubRows,\n selectSubRows = _instance$selectSubRo === void 0 ? true : _instance$selectSubRo,\n getSubRows = instance.getSubRows;\n var isSelected = state.selectedRowIds[id];\n var shouldExist = typeof _setSelected !== 'undefined' ? _setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n var newSelectedRowIds = _extends({}, state.selectedRowIds);\n\n var handleRowById = function handleRowById(id) {\n var row = _rowsById[id];\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true;\n } else {\n delete newSelectedRowIds[id];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(function (row) {\n return handleRowById(row.id);\n });\n }\n }\n };\n\n handleRowById(id);\n return _extends({}, state, {\n selectedRowIds: newSelectedRowIds\n });\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n var _setSelected2 = action.value;\n\n var page = instance.page,\n _rowsById2 = instance.rowsById,\n _instance$selectSubRo2 = instance.selectSubRows,\n _selectSubRows = _instance$selectSubRo2 === void 0 ? true : _instance$selectSubRo2,\n isAllPageRowsSelected = instance.isAllPageRowsSelected,\n _getSubRows = instance.getSubRows;\n\n var _selectAll = typeof _setSelected2 !== 'undefined' ? _setSelected2 : !isAllPageRowsSelected;\n\n var _newSelectedRowIds = _extends({}, state.selectedRowIds);\n\n var _handleRowById = function _handleRowById(id) {\n var row = _rowsById2[id];\n\n if (!row.isGrouped) {\n if (_selectAll) {\n _newSelectedRowIds[id] = true;\n } else {\n delete _newSelectedRowIds[id];\n }\n }\n\n if (_selectSubRows && _getSubRows(row)) {\n return _getSubRows(row).forEach(function (row) {\n return _handleRowById(row.id);\n });\n }\n };\n\n page.forEach(function (row) {\n return _handleRowById(row.id);\n });\n return _extends({}, state, {\n selectedRowIds: _newSelectedRowIds\n });\n }\n\n return state;\n }\n\n function useInstance$8(instance) {\n var data = instance.data,\n rows = instance.rows,\n getHooks = instance.getHooks,\n plugins = instance.plugins,\n rowsById = instance.rowsById,\n _instance$nonGroupedR2 = instance.nonGroupedRowsById,\n nonGroupedRowsById = _instance$nonGroupedR2 === void 0 ? rowsById : _instance$nonGroupedR2,\n _instance$autoResetSe = instance.autoResetSelectedRows,\n autoResetSelectedRows = _instance$autoResetSe === void 0 ? true : _instance$autoResetSe,\n selectedRowIds = instance.state.selectedRowIds,\n _instance$selectSubRo3 = instance.selectSubRows,\n selectSubRows = _instance$selectSubRo3 === void 0 ? true : _instance$selectSubRo3,\n dispatch = instance.dispatch,\n page = instance.page,\n getSubRows = instance.getSubRows;\n ensurePluginOrder(plugins, ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'], 'useRowSelect');\n var selectedFlatRows = React.useMemo(function () {\n var selectedFlatRows = [];\n rows.forEach(function (row) {\n var isSelected = selectSubRows ? getRowIsSelected(row, selectedRowIds, getSubRows) : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedFlatRows.push(row);\n }\n });\n return selectedFlatRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n var isAllRowsSelected = Boolean(Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length);\n var isAllPageRowsSelected = isAllRowsSelected;\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(function (id) {\n return !selectedRowIds[id];\n })) {\n isAllRowsSelected = false;\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(function (_ref5) {\n var id = _ref5.id;\n return !selectedRowIds[id];\n })) {\n isAllPageRowsSelected = false;\n }\n }\n\n var getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n useMountedLayoutEffect(function () {\n if (getAutoResetSelectedRows()) {\n dispatch({\n type: actions.resetSelectedRows\n });\n }\n }, [dispatch, data]);\n var toggleAllRowsSelected = React.useCallback(function (value) {\n return dispatch({\n type: actions.toggleAllRowsSelected,\n value: value\n });\n }, [dispatch]);\n var toggleAllPageRowsSelected = React.useCallback(function (value) {\n return dispatch({\n type: actions.toggleAllPageRowsSelected,\n value: value\n });\n }, [dispatch]);\n var toggleRowSelected = React.useCallback(function (id, value) {\n return dispatch({\n type: actions.toggleRowSelected,\n id: id,\n value: value\n });\n }, [dispatch]);\n var getInstance = useGetLatest(instance);\n var getToggleAllRowsSelectedProps = makePropGetter(getHooks().getToggleAllRowsSelectedProps, {\n instance: getInstance()\n });\n var getToggleAllPageRowsSelectedProps = makePropGetter(getHooks().getToggleAllPageRowsSelectedProps, {\n instance: getInstance()\n });\n Object.assign(instance, {\n selectedFlatRows: selectedFlatRows,\n isAllRowsSelected: isAllRowsSelected,\n isAllPageRowsSelected: isAllPageRowsSelected,\n toggleRowSelected: toggleRowSelected,\n toggleAllRowsSelected: toggleAllRowsSelected,\n getToggleAllRowsSelectedProps: getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps: getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected: toggleAllPageRowsSelected\n });\n }\n\n function prepareRow$3(row, _ref6) {\n var instance = _ref6.instance;\n\n row.toggleRowSelected = function (set) {\n return instance.toggleRowSelected(row.id, set);\n };\n\n row.getToggleRowSelectedProps = makePropGetter(instance.getHooks().getToggleRowSelectedProps, {\n instance: instance,\n row: row\n });\n }\n\n function getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n var subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n var allChildrenSelected = true;\n var someSelected = false;\n subRows.forEach(function (subRow) {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n return allChildrenSelected ? true : someSelected ? null : false;\n }\n\n return false;\n }\n\n var defaultInitialRowStateAccessor = function defaultInitialRowStateAccessor(row) {\n return {};\n };\n\n var defaultInitialCellStateAccessor = function defaultInitialCellStateAccessor(cell) {\n return {};\n }; // Actions\n\n\n actions.setRowState = 'setRowState';\n actions.setCellState = 'setCellState';\n actions.resetRowState = 'resetRowState';\n var useRowState = function useRowState(hooks) {\n hooks.stateReducers.push(reducer$9);\n hooks.useInstance.push(useInstance$9);\n hooks.prepareRow.push(prepareRow$4);\n };\n useRowState.pluginName = 'useRowState';\n\n function reducer$9(state, action, previousState, instance) {\n var _instance$initialRowS = instance.initialRowStateAccessor,\n initialRowStateAccessor = _instance$initialRowS === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS,\n _instance$initialCell = instance.initialCellStateAccessor,\n initialCellStateAccessor = _instance$initialCell === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell,\n rowsById = instance.rowsById;\n\n if (action.type === actions.init) {\n return _extends({\n rowState: {}\n }, state);\n }\n\n if (action.type === actions.resetRowState) {\n return _extends({}, state, {\n rowState: instance.initialState.rowState || {}\n });\n }\n\n if (action.type === actions.setRowState) {\n var _extends2;\n\n var rowId = action.rowId,\n value = action.value;\n var oldRowState = typeof state.rowState[rowId] !== 'undefined' ? state.rowState[rowId] : initialRowStateAccessor(rowsById[rowId]);\n return _extends({}, state, {\n rowState: _extends({}, state.rowState, (_extends2 = {}, _extends2[rowId] = functionalUpdate(value, oldRowState), _extends2))\n });\n }\n\n if (action.type === actions.setCellState) {\n var _oldRowState$cellStat, _rowsById$_rowId, _rowsById$_rowId$cell, _extends3, _extends4;\n\n var _rowId = action.rowId,\n columnId = action.columnId,\n _value = action.value;\n\n var _oldRowState = typeof state.rowState[_rowId] !== 'undefined' ? state.rowState[_rowId] : initialRowStateAccessor(rowsById[_rowId]);\n\n var oldCellState = typeof (_oldRowState == null ? void 0 : (_oldRowState$cellStat = _oldRowState.cellState) == null ? void 0 : _oldRowState$cellStat[columnId]) !== 'undefined' ? _oldRowState.cellState[columnId] : initialCellStateAccessor((_rowsById$_rowId = rowsById[_rowId]) == null ? void 0 : (_rowsById$_rowId$cell = _rowsById$_rowId.cells) == null ? void 0 : _rowsById$_rowId$cell.find(function (cell) {\n return cell.column.id === columnId;\n }));\n return _extends({}, state, {\n rowState: _extends({}, state.rowState, (_extends4 = {}, _extends4[_rowId] = _extends({}, _oldRowState, {\n cellState: _extends({}, _oldRowState.cellState || {}, (_extends3 = {}, _extends3[columnId] = functionalUpdate(_value, oldCellState), _extends3))\n }), _extends4))\n });\n }\n }\n\n function useInstance$9(instance) {\n var _instance$autoResetRo = instance.autoResetRowState,\n autoResetRowState = _instance$autoResetRo === void 0 ? true : _instance$autoResetRo,\n data = instance.data,\n dispatch = instance.dispatch;\n var setRowState = React.useCallback(function (rowId, value) {\n return dispatch({\n type: actions.setRowState,\n rowId: rowId,\n value: value\n });\n }, [dispatch]);\n var setCellState = React.useCallback(function (rowId, columnId, value) {\n return dispatch({\n type: actions.setCellState,\n rowId: rowId,\n columnId: columnId,\n value: value\n });\n }, [dispatch]);\n var getAutoResetRowState = useGetLatest(autoResetRowState);\n useMountedLayoutEffect(function () {\n if (getAutoResetRowState()) {\n dispatch({\n type: actions.resetRowState\n });\n }\n }, [data]);\n Object.assign(instance, {\n setRowState: setRowState,\n setCellState: setCellState\n });\n }\n\n function prepareRow$4(row, _ref) {\n var instance = _ref.instance;\n var _instance$initialRowS2 = instance.initialRowStateAccessor,\n initialRowStateAccessor = _instance$initialRowS2 === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS2,\n _instance$initialCell2 = instance.initialCellStateAccessor,\n initialCellStateAccessor = _instance$initialCell2 === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell2,\n rowState = instance.state.rowState;\n\n if (row) {\n row.state = typeof rowState[row.id] !== 'undefined' ? rowState[row.id] : initialRowStateAccessor(row);\n\n row.setState = function (updater) {\n return instance.setRowState(row.id, updater);\n };\n\n row.cells.forEach(function (cell) {\n if (!row.state.cellState) {\n row.state.cellState = {};\n }\n\n cell.state = typeof row.state.cellState[cell.column.id] !== 'undefined' ? row.state.cellState[cell.column.id] : initialCellStateAccessor(cell);\n\n cell.setState = function (updater) {\n return instance.setCellState(row.id, cell.column.id, updater);\n };\n });\n }\n }\n\n actions.resetColumnOrder = 'resetColumnOrder';\n actions.setColumnOrder = 'setColumnOrder';\n var useColumnOrder = function useColumnOrder(hooks) {\n hooks.stateReducers.push(reducer$a);\n hooks.visibleColumnsDeps.push(function (deps, _ref) {\n var instance = _ref.instance;\n return [].concat(deps, [instance.state.columnOrder]);\n });\n hooks.visibleColumns.push(visibleColumns$2);\n hooks.useInstance.push(useInstance$a);\n };\n useColumnOrder.pluginName = 'useColumnOrder';\n\n function reducer$a(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n columnOrder: []\n }, state);\n }\n\n if (action.type === actions.resetColumnOrder) {\n return _extends({}, state, {\n columnOrder: instance.initialState.columnOrder || []\n });\n }\n\n if (action.type === actions.setColumnOrder) {\n return _extends({}, state, {\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder)\n });\n }\n }\n\n function visibleColumns$2(columns, _ref2) {\n var columnOrder = _ref2.instance.state.columnOrder;\n\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns;\n }\n\n var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns\n\n var columnsCopy = [].concat(columns); // And make a new ordered array of the columns\n\n var columnsInOrder = []; // Loop over the columns and place them in order into the new array\n\n var _loop = function _loop() {\n var targetColumnId = columnOrderCopy.shift();\n var foundIndex = columnsCopy.findIndex(function (d) {\n return d.id === targetColumnId;\n });\n\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0]);\n }\n };\n\n while (columnsCopy.length && columnOrderCopy.length) {\n _loop();\n } // If there are any columns left, add them to the end\n\n\n return [].concat(columnsInOrder, columnsCopy);\n }\n\n function useInstance$a(instance) {\n var dispatch = instance.dispatch;\n instance.setColumnOrder = React.useCallback(function (columnOrder) {\n return dispatch({\n type: actions.setColumnOrder,\n columnOrder: columnOrder\n });\n }, [dispatch]);\n }\n\n defaultColumn.canResize = true; // Actions\n\n actions.columnStartResizing = 'columnStartResizing';\n actions.columnResizing = 'columnResizing';\n actions.columnDoneResizing = 'columnDoneResizing';\n actions.resetResize = 'resetResize';\n var useResizeColumns = function useResizeColumns(hooks) {\n hooks.getResizerProps = [defaultGetResizerProps];\n hooks.getHeaderProps.push({\n style: {\n position: 'relative'\n }\n });\n hooks.stateReducers.push(reducer$b);\n hooks.useInstance.push(useInstance$b);\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions$1);\n };\n\n var defaultGetResizerProps = function defaultGetResizerProps(props, _ref) {\n var instance = _ref.instance,\n header = _ref.header;\n var dispatch = instance.dispatch;\n\n var onResizeStart = function onResizeStart(e, header) {\n var isTouchEvent = false;\n\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return;\n }\n\n isTouchEvent = true;\n }\n\n var headersToResize = getLeafHeaders(header);\n var headerIdWidths = headersToResize.map(function (d) {\n return [d.id, d.totalWidth];\n });\n var clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX;\n var raf;\n var mostRecentClientX;\n\n var dispatchEnd = function dispatchEnd() {\n window.cancelAnimationFrame(raf);\n raf = null;\n dispatch({\n type: actions.columnDoneResizing\n });\n };\n\n var dispatchMove = function dispatchMove() {\n window.cancelAnimationFrame(raf);\n raf = null;\n dispatch({\n type: actions.columnResizing,\n clientX: mostRecentClientX\n });\n };\n\n var scheduleDispatchMoveOnNextAnimationFrame = function scheduleDispatchMoveOnNextAnimationFrame(clientXPos) {\n mostRecentClientX = clientXPos;\n\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove);\n }\n };\n\n var handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: function moveHandler(e) {\n return scheduleDispatchMoveOnNextAnimationFrame(e.clientX);\n },\n upEvent: 'mouseup',\n upHandler: function upHandler(e) {\n document.removeEventListener('mousemove', handlersAndEvents.mouse.moveHandler);\n document.removeEventListener('mouseup', handlersAndEvents.mouse.upHandler);\n dispatchEnd();\n }\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: function moveHandler(e) {\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX);\n return false;\n },\n upEvent: 'touchend',\n upHandler: function upHandler(e) {\n document.removeEventListener(handlersAndEvents.touch.moveEvent, handlersAndEvents.touch.moveHandler);\n document.removeEventListener(handlersAndEvents.touch.upEvent, handlersAndEvents.touch.moveHandler);\n dispatchEnd();\n }\n }\n };\n var events = isTouchEvent ? handlersAndEvents.touch : handlersAndEvents.mouse;\n var passiveIfSupported = passiveEventSupported() ? {\n passive: false\n } : false;\n document.addEventListener(events.moveEvent, events.moveHandler, passiveIfSupported);\n document.addEventListener(events.upEvent, events.upHandler, passiveIfSupported);\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths: headerIdWidths,\n clientX: clientX\n });\n };\n\n return [props, {\n onMouseDown: function onMouseDown(e) {\n return e.persist() || onResizeStart(e, header);\n },\n onTouchStart: function onTouchStart(e) {\n return e.persist() || onResizeStart(e, header);\n },\n style: {\n cursor: 'col-resize'\n },\n draggable: false,\n role: 'separator'\n }];\n };\n\n useResizeColumns.pluginName = 'useResizeColumns';\n\n function reducer$b(state, action) {\n if (action.type === actions.init) {\n return _extends({\n columnResizing: {\n columnWidths: {}\n }\n }, state);\n }\n\n if (action.type === actions.resetResize) {\n return _extends({}, state, {\n columnResizing: {\n columnWidths: {}\n }\n });\n }\n\n if (action.type === actions.columnStartResizing) {\n var clientX = action.clientX,\n columnId = action.columnId,\n columnWidth = action.columnWidth,\n headerIdWidths = action.headerIdWidths;\n return _extends({}, state, {\n columnResizing: _extends({}, state.columnResizing, {\n startX: clientX,\n headerIdWidths: headerIdWidths,\n columnWidth: columnWidth,\n isResizingColumn: columnId\n })\n });\n }\n\n if (action.type === actions.columnResizing) {\n var _clientX = action.clientX;\n\n var _state$columnResizing = state.columnResizing,\n startX = _state$columnResizing.startX,\n _columnWidth = _state$columnResizing.columnWidth,\n _state$columnResizing2 = _state$columnResizing.headerIdWidths,\n _headerIdWidths = _state$columnResizing2 === void 0 ? [] : _state$columnResizing2;\n\n var deltaX = _clientX - startX;\n var percentageDeltaX = deltaX / _columnWidth;\n var newColumnWidths = {};\n\n _headerIdWidths.forEach(function (_ref2) {\n var headerId = _ref2[0],\n headerWidth = _ref2[1];\n newColumnWidths[headerId] = Math.max(headerWidth + headerWidth * percentageDeltaX, 0);\n });\n\n return _extends({}, state, {\n columnResizing: _extends({}, state.columnResizing, {\n columnWidths: _extends({}, state.columnResizing.columnWidths, {}, newColumnWidths)\n })\n });\n }\n\n if (action.type === actions.columnDoneResizing) {\n return _extends({}, state, {\n columnResizing: _extends({}, state.columnResizing, {\n startX: null,\n isResizingColumn: null\n })\n });\n }\n }\n\n var useInstanceBeforeDimensions$1 = function useInstanceBeforeDimensions(instance) {\n var flatHeaders = instance.flatHeaders,\n disableResizing = instance.disableResizing,\n getHooks = instance.getHooks,\n columnResizing = instance.state.columnResizing;\n var getInstance = useGetLatest(instance);\n flatHeaders.forEach(function (header) {\n var canResize = getFirstDefined(header.disableResizing === true ? false : undefined, disableResizing === true ? false : undefined, true);\n header.canResize = canResize;\n header.width = columnResizing.columnWidths[header.id] || header.originalWidth || header.width;\n header.isResizing = columnResizing.isResizingColumn === header.id;\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header: header\n });\n }\n });\n };\n\n function useInstance$b(instance) {\n var plugins = instance.plugins,\n dispatch = instance.dispatch,\n _instance$autoResetRe = instance.autoResetResize,\n autoResetResize = _instance$autoResetRe === void 0 ? true : _instance$autoResetRe,\n columns = instance.columns;\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns');\n var getAutoResetResize = useGetLatest(autoResetResize);\n useMountedLayoutEffect(function () {\n if (getAutoResetResize()) {\n dispatch({\n type: actions.resetResize\n });\n }\n }, [columns]);\n var resetResizing = React.useCallback(function () {\n return dispatch({\n type: actions.resetResize\n });\n }, [dispatch]);\n Object.assign(instance, {\n resetResizing: resetResizing\n });\n }\n\n function getLeafHeaders(header) {\n var leafHeaders = [];\n\n var recurseHeader = function recurseHeader(header) {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader);\n }\n\n leafHeaders.push(header);\n };\n\n recurseHeader(header);\n return leafHeaders;\n }\n\n var cellStyles = {\n position: 'absolute',\n top: 0\n };\n var useAbsoluteLayout = function useAbsoluteLayout(hooks) {\n hooks.getTableBodyProps.push(getRowStyles);\n hooks.getRowProps.push(getRowStyles);\n hooks.getHeaderGroupProps.push(getRowStyles);\n hooks.getFooterGroupProps.push(getRowStyles);\n hooks.getHeaderProps.push(function (props, _ref) {\n var column = _ref.column;\n return [props, {\n style: _extends({}, cellStyles, {\n left: column.totalLeft + \"px\",\n width: column.totalWidth + \"px\"\n })\n }];\n });\n hooks.getCellProps.push(function (props, _ref2) {\n var cell = _ref2.cell;\n return [props, {\n style: _extends({}, cellStyles, {\n left: cell.column.totalLeft + \"px\",\n width: cell.column.totalWidth + \"px\"\n })\n }];\n });\n hooks.getFooterProps.push(function (props, _ref3) {\n var column = _ref3.column;\n return [props, {\n style: _extends({}, cellStyles, {\n left: column.totalLeft + \"px\",\n width: column.totalWidth + \"px\"\n })\n }];\n });\n };\n useAbsoluteLayout.pluginName = 'useAbsoluteLayout';\n\n var getRowStyles = function getRowStyles(props, _ref4) {\n var instance = _ref4.instance;\n return [props, {\n style: {\n position: 'relative',\n width: instance.totalColumnsWidth + \"px\"\n }\n }];\n };\n\n var cellStyles$1 = {\n display: 'inline-block',\n boxSizing: 'border-box'\n };\n\n var getRowStyles$1 = function getRowStyles(props, _ref) {\n var instance = _ref.instance;\n return [props, {\n style: {\n display: 'flex',\n width: instance.totalColumnsWidth + \"px\"\n }\n }];\n };\n\n var useBlockLayout = function useBlockLayout(hooks) {\n hooks.getRowProps.push(getRowStyles$1);\n hooks.getHeaderGroupProps.push(getRowStyles$1);\n hooks.getFooterGroupProps.push(getRowStyles$1);\n hooks.getHeaderProps.push(function (props, _ref2) {\n var column = _ref2.column;\n return [props, {\n style: _extends({}, cellStyles$1, {\n width: column.totalWidth + \"px\"\n })\n }];\n });\n hooks.getCellProps.push(function (props, _ref3) {\n var cell = _ref3.cell;\n return [props, {\n style: _extends({}, cellStyles$1, {\n width: cell.column.totalWidth + \"px\"\n })\n }];\n });\n hooks.getFooterProps.push(function (props, _ref4) {\n var column = _ref4.column;\n return [props, {\n style: _extends({}, cellStyles$1, {\n width: column.totalWidth + \"px\"\n })\n }];\n });\n };\n useBlockLayout.pluginName = 'useBlockLayout';\n\n function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps);\n hooks.getRowProps.push(getRowStyles$2);\n hooks.getHeaderGroupProps.push(getRowStyles$2);\n hooks.getFooterGroupProps.push(getRowStyles$2);\n hooks.getHeaderProps.push(getHeaderProps);\n hooks.getCellProps.push(getCellProps);\n hooks.getFooterProps.push(getFooterProps);\n }\n useFlexLayout.pluginName = 'useFlexLayout';\n\n var getTableProps = function getTableProps(props, _ref) {\n var instance = _ref.instance;\n return [props, {\n style: {\n minWidth: instance.totalColumnsMinWidth + \"px\"\n }\n }];\n };\n\n var getRowStyles$2 = function getRowStyles(props, _ref2) {\n var instance = _ref2.instance;\n return [props, {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: instance.totalColumnsMinWidth + \"px\"\n }\n }];\n };\n\n var getHeaderProps = function getHeaderProps(props, _ref3) {\n var column = _ref3.column;\n return [props, {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth ? column.totalFlexWidth + \" 0 auto\" : undefined,\n minWidth: column.totalMinWidth + \"px\",\n width: column.totalWidth + \"px\"\n }\n }];\n };\n\n var getCellProps = function getCellProps(props, _ref4) {\n var cell = _ref4.cell;\n return [props, {\n style: {\n boxSizing: 'border-box',\n flex: cell.column.totalFlexWidth + \" 0 auto\",\n minWidth: cell.column.totalMinWidth + \"px\",\n width: cell.column.totalWidth + \"px\"\n }\n }];\n };\n\n var getFooterProps = function getFooterProps(props, _ref5) {\n var column = _ref5.column;\n return [props, {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth ? column.totalFlexWidth + \" 0 auto\" : undefined,\n minWidth: column.totalMinWidth + \"px\",\n width: column.totalWidth + \"px\"\n }\n }];\n };\n\n actions.columnStartResizing = 'columnStartResizing';\n actions.columnResizing = 'columnResizing';\n actions.columnDoneResizing = 'columnDoneResizing';\n actions.resetResize = 'resetResize';\n function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer$c);\n hooks.getTableProps.push(getTableProps$1);\n hooks.getHeaderProps.push(getHeaderProps$1);\n hooks.getRowProps.push(getRowProps);\n }\n useGridLayout.pluginName = 'useGridLayout';\n\n var getTableProps$1 = function getTableProps(props, _ref) {\n var instance = _ref.instance;\n var gridTemplateColumns = instance.visibleColumns.map(function (column) {\n var _instance$state$colum;\n\n if (instance.state.gridLayout.columnWidths[column.id]) return instance.state.gridLayout.columnWidths[column.id] + \"px\"; // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n\n if ((_instance$state$colum = instance.state.columnResizing) == null ? void 0 : _instance$state$colum.isResizingColumn) return instance.state.gridLayout.startWidths[column.id] + \"px\";\n if (typeof column.width === 'number') return column.width + \"px\";\n return column.width;\n });\n return [props, {\n style: {\n display: \"grid\",\n gridTemplateColumns: gridTemplateColumns.join(\" \")\n }\n }];\n };\n\n var getHeaderProps$1 = function getHeaderProps(props, _ref2) {\n var column = _ref2.column;\n return [props, {\n id: \"header-cell-\" + column.id,\n style: {\n position: \"sticky\",\n //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: \"span \" + column.totalVisibleHeaderCount\n }\n }];\n };\n\n var getRowProps = function getRowProps(props, _ref3) {\n var row = _ref3.row;\n\n if (row.isExpanded) {\n return [props, {\n style: {\n gridColumn: \"1 / \" + (row.cells.length + 1)\n }\n }];\n }\n\n return [props, {}];\n };\n\n function reducer$c(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return _extends({\n gridLayout: {\n columnWidths: {}\n }\n }, state);\n }\n\n if (action.type === actions.resetResize) {\n return _extends({}, state, {\n gridLayout: {\n columnWidths: {}\n }\n });\n }\n\n if (action.type === actions.columnStartResizing) {\n var columnId = action.columnId,\n headerIdWidths = action.headerIdWidths;\n var columnWidth = getElementWidth(columnId);\n\n if (columnWidth !== undefined) {\n var startWidths = instance.visibleColumns.reduce(function (acc, column) {\n var _extends2;\n\n return _extends({}, acc, (_extends2 = {}, _extends2[column.id] = getElementWidth(column.id), _extends2));\n }, {});\n var minWidths = instance.visibleColumns.reduce(function (acc, column) {\n var _extends3;\n\n return _extends({}, acc, (_extends3 = {}, _extends3[column.id] = column.minWidth, _extends3));\n }, {});\n var maxWidths = instance.visibleColumns.reduce(function (acc, column) {\n var _extends4;\n\n return _extends({}, acc, (_extends4 = {}, _extends4[column.id] = column.maxWidth, _extends4));\n }, {});\n var headerIdGridWidths = headerIdWidths.map(function (_ref4) {\n var headerId = _ref4[0];\n return [headerId, getElementWidth(headerId)];\n });\n return _extends({}, state, {\n gridLayout: _extends({}, state.gridLayout, {\n startWidths: startWidths,\n minWidths: minWidths,\n maxWidths: maxWidths,\n headerIdGridWidths: headerIdGridWidths,\n columnWidth: columnWidth\n })\n });\n } else {\n return state;\n }\n }\n\n if (action.type === actions.columnResizing) {\n var clientX = action.clientX;\n var startX = state.columnResizing.startX;\n\n var _state$gridLayout = state.gridLayout,\n _columnWidth = _state$gridLayout.columnWidth,\n _minWidths = _state$gridLayout.minWidths,\n _maxWidths = _state$gridLayout.maxWidths,\n _state$gridLayout$hea = _state$gridLayout.headerIdGridWidths,\n _headerIdGridWidths = _state$gridLayout$hea === void 0 ? [] : _state$gridLayout$hea;\n\n var deltaX = clientX - startX;\n var percentageDeltaX = deltaX / _columnWidth;\n var newColumnWidths = {};\n\n _headerIdGridWidths.forEach(function (_ref5) {\n var headerId = _ref5[0],\n headerWidth = _ref5[1];\n newColumnWidths[headerId] = Math.min(Math.max(_minWidths[headerId], headerWidth + headerWidth * percentageDeltaX), _maxWidths[headerId]);\n });\n\n return _extends({}, state, {\n gridLayout: _extends({}, state.gridLayout, {\n columnWidths: _extends({}, state.gridLayout.columnWidths, {}, newColumnWidths)\n })\n });\n }\n\n if (action.type === actions.columnDoneResizing) {\n return _extends({}, state, {\n gridLayout: _extends({}, state.gridLayout, {\n startWidths: {},\n minWidths: {},\n maxWidths: {}\n })\n });\n }\n }\n\n function getElementWidth(columnId) {\n var _document$getElementB;\n\n var width = (_document$getElementB = document.getElementById(\"header-cell-\" + columnId)) == null ? void 0 : _document$getElementB.offsetWidth;\n\n if (width !== undefined) {\n return width;\n }\n }\n\n exports._UNSTABLE_usePivotColumns = _UNSTABLE_usePivotColumns;\n exports.actions = actions;\n exports.defaultColumn = defaultColumn;\n exports.defaultGroupByFn = defaultGroupByFn;\n exports.defaultOrderByFn = defaultOrderByFn;\n exports.defaultRenderer = defaultRenderer;\n exports.emptyRenderer = emptyRenderer;\n exports.ensurePluginOrder = ensurePluginOrder;\n exports.flexRender = flexRender;\n exports.functionalUpdate = functionalUpdate;\n exports.loopHooks = loopHooks;\n exports.makePropGetter = makePropGetter;\n exports.makeRenderer = makeRenderer;\n exports.reduceHooks = reduceHooks;\n exports.safeUseLayoutEffect = safeUseLayoutEffect;\n exports.useAbsoluteLayout = useAbsoluteLayout;\n exports.useAsyncDebounce = useAsyncDebounce;\n exports.useBlockLayout = useBlockLayout;\n exports.useColumnOrder = useColumnOrder;\n exports.useExpanded = useExpanded;\n exports.useFilters = useFilters;\n exports.useFlexLayout = useFlexLayout;\n exports.useGetLatest = useGetLatest;\n exports.useGlobalFilter = useGlobalFilter;\n exports.useGridLayout = useGridLayout;\n exports.useGroupBy = useGroupBy;\n exports.useMountedLayoutEffect = useMountedLayoutEffect;\n exports.usePagination = usePagination;\n exports.useResizeColumns = useResizeColumns;\n exports.useRowSelect = useRowSelect;\n exports.useRowState = useRowState;\n exports.useSortBy = useSortBy;\n exports.useTable = useTable;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=react-table.development.js.map\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","module.exports = window[\"React\"];","module.exports = window[\"moment\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"i18n\"];","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss';\nimport { createHooks } from '@wordpress/hooks';\nimport React, { Component } from \"react\";\nimport { __ } from '@wordpress/i18n';\nimport { useTable, usePagination } from \"react-table\";\nimport WisdmLoader from '../commons/loader/index.js';\nimport DummyReports from '../commons/dummy-reports/index.js';\nimport WisdmFilters from '../commons/filters/index.js';\nimport { CSVLink } from \"react-csv\";\nimport moment from 'moment';\n\n\nfunction Table({ columns, data }) {\n // Use the state and functions returned from useTable to build your UI\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n prepareRow,\n page, // Instead of using 'rows', we'll use page,\n // which has only the rows for the active page\n\n // The rest of these things are super handy, too ;)\n canPreviousPage,\n canNextPage,\n pageOptions,\n pageCount,\n gotoPage,\n nextPage,\n previousPage,\n setPageSize,\n state: { pageIndex, pageSize }} = useTable({columns, data,initialState: { pageIndex: 0 }},\n usePagination\n );\n \n //tooltip message configuration \n let tooltip_text = \"\";\n let icon_enabled =false;\n const time_tracking_enabled = wisdm_learndash_reports_front_end_script_course_list.is_idle_tracking_enabled;\n\nif(wisdm_learndash_reports_front_end_script_course_list.is_admin_user){\n //If current user is admin\n if(wisdm_learndash_reports_front_end_script_course_list.is_pro_version_active){\n //need time tracking module setting\n if(time_tracking_enabled == 'on'){\n //Checking weather time tracking is enabled or not\n tooltip_text =

{__('Idle Time Configured , Activated on ', 'learndash-reports-by-wisdmlabs' ) + wisdm_learndash_reports_front_end_script_course_list.idle_tracking_active_from +'. '} {__('View Idle Time Configuration Log', 'learndash-reports-by-wisdmlabs' )}

;\n icon_enabled=true;\n }else{\n tooltip_text = \n
\n

{__('\\\"Idle Time\\\" not configured. Configure the Settings from here ' , 'learndash-reports-by-wisdmlabs' )}

\n {__('Time Tracking Setting' , 'learndash-reports-by-wisdmlabs' )}\n
\n ;\n }\n }else{\n tooltip_text = \n
\n

{__('\\\"Idle Time\\\" not configured. This is available in the PRO version of the plugin' , 'learndash-reports-by-wisdmlabs' )}

\n {__('Upgrade To PRO' , 'learndash-reports-by-wisdmlabs' )}\n
;\n }\n\n}else{\n //For non-admin users group leader , instructor\n if(wisdm_learndash_reports_front_end_script_course_list.is_pro_version_active){\n //need time tracking module setting\n if(time_tracking_enabled){\n tooltip_text = __('Idle Time Configured , Activated on ' , 'learndash-reports-by-wisdmlabs' ) + wisdm_learndash_reports_front_end_script_course_list.idle_tracking_active_from;\n icon_enabled=true;\n }else{\n tooltip_text = __('Idle Time Not Configured', 'learndash-reports-by-wisdmlabs' );;\n }\n }else{\n console.log(\"Pro version is not active\");\n }\n}\n\n // Render the UI for your table\n return (\n <>\n
\n
\n \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n {column.render('Header')}\n {column.toolTip &&
{icon_enabled && \n }\n\n {!icon_enabled && \n }{tooltip_text && {tooltip_text}
}
}\n \n ))}\n
\n ))}\n \n \n {page.map((row, i) => {\n prepareRow(row);\n return (\n \n {row.cells.map((cell) => {\n return (\n \n );\n })}\n \n );\n })}\n \n
{cell.render(\"Cell\")}
\n
\n {/* \n Pagination can be built however you'd like. \n This is just a very basic UI implementation:\n */}\n
\n {\" \"}\n {\" \"}\n \n {__('Page', 'learndash-reports-by-wisdmlabs') + \" \"}\n \n {pageIndex + 1} {' ' + __('Of', 'learndash-reports-by-wisdmlabs') + ' ' } {pageOptions.length}\n {\" \"}\n \n {\" \"}\n {\" \"}\n
\n
\n \n );\n}\n\n\nclass CourseList extends Component {\n constructor(props) {\n super(props);\n \n this.state = {\n isLoaded: false,\n isProVersion:false,\n start_date:moment(new Date(wisdm_ld_reports_common_script_data.start_date)).unix(),\n end_date:moment(new Date(wisdm_ld_reports_common_script_data.end_date)).unix(),\n reportTypeInUse: wisdm_learndash_reports_front_end_script_course_list.report_type,\n error: null,\n request_data:null,\n course_report_type: null,\n show_supporting_text: false,\n };\n\n this.applyFilters = this.applyFilters.bind(this);\n this.handleReportTypeChange = this.handleReportTypeChange.bind(this);\n this.getExcelFile = this.getExcelFile.bind(this);\n this.durationUpdated = this.durationUpdated.bind(this);\n this.showDummyImages = this.showDummyImages.bind(this);\n }\n \n componentDidMount() { \n let start_date = this.state.start_date;\n let end_date = this.state.end_date;\n let request_url = '/rp/v1/course-list-info/?start_date=' + start_date + '&end_date=' + end_date;\n this.getCourseListStateData(request_url);\n document.addEventListener('wisdm-ld-reports-filters-applied', this.applyFilters);\n document.addEventListener('wisdm-ld-reports-report-type-selected', this.handleReportTypeChange);\n document.addEventListener('duration_updated', this.durationUpdated);\n document.addEventListener('wisdm-ldrp-course-report-type-changed', this.showDummyImages);\n }\n\n durationUpdated(event) {\n this.setState({isLoaded: false, start_date:event.detail.startDate, end_date:event.detail.endDate});\n let requestUrl = '/rp/v1/course-list-info/';\n if ('duration_updated'==event.type) {\n requestUrl = '/rp/v1/course-list-info/?start_date=' + event.detail.startDate + '&&end_date=' + event.detail.endDate;\n } \n if (window.globalfilters != undefined) {\n let category = window.globalfilters.detail.selected_categories;\n let group = window.globalfilters.detail.selected_groups;\n let course = window.globalfilters.detail.selected_courses;\n let lesson = window.globalfilters.detail.selected_lessons;\n let topic = window.globalfilters.detail.selected_topics;\n let learner = window.globalfilters.detail.selected_learners;\n requestUrl = requestUrl + '&category=' + category + '&group=' + group + '&course=' + course + '&lesson=' + lesson + '&topic=' + topic + '&learner=' + learner;\n \n } \n \n this.getCourseListStateData(requestUrl);\n }\n\n handleReportTypeChange(event) {\n this.setState({reportTypeInUse:event.detail.active_reports_tab});\n if ( 'quiz-reports' == event.detail.active_reports_tab ) {\n wisdm_reports_change_block_visibility('.wp-block-wisdm-learndash-reports-course-list', false);\n } else {\n wisdm_reports_change_block_visibility('.wp-block-wisdm-learndash-reports-course-list', true);\n }\n }\n\n showDummyImages(event){\n this.setState({course_report_type:event.detail.report_type})\n }\n\n applyFilters(event) {\n let start_date = this.state.start_date;\n let end_date = this.state.end_date;\n let category = event.detail.selected_categories;\n let group = event.detail.selected_groups\n let course = event.detail.selected_courses;\n let lesson = event.detail.selected_lessons;\n let topic = event.detail.selected_topics;\n let learner = event.detail.selected_learners;\n let request_url = '/rp/v1/course-list-info/?start_date=' + start_date + '&end_date=' + end_date + '&category=' + category + '&group=' + group + '&course=' + course + '&lesson=' + lesson + '&topic=' + topic + '&learner=' + learner;\n if ( undefined != course ) {\n this.setState({show_supporting_text: true});\n } else {\n this.setState({show_supporting_text: false});\n }\n this.getCourseListStateData(request_url);\n }\n\n getTableHeadersByType(response) {\n let headers= []; \n let table_header_names = {\n id : __('ID', 'learndash-reports-by-wisdmlabs'),\n name : __('Name', 'learndash-reports-by-wisdmlabs'),\n email : __( 'Email ID', 'learndash-reports-by-wisdmlabs' ),\n status : __( 'Status', 'learndash-reports-by-wisdmlabs' ),\n steps : __( 'Steps Completed', 'learndash-reports-by-wisdmlabs' ),\n date : __( 'Completion Date', 'learndash-reports-by-wisdmlabs' ),\n time : __( 'Time spent', 'learndash-reports-by-wisdmlabs' ),\n total_spent_time : __( 'Total Time Spent', 'learndash-reports-by-wisdmlabs' ),\n category : wisdm_reports_get_ld_custom_lebel_if_avaiable('Course') + ' ' + __('Category', 'learndash-reports-by-wisdmlabs'),\n course : wisdm_reports_get_ld_custom_lebel_if_avaiable('Course'),\n groups : __('Groups', 'learndash-reports-by-wisdmlabs'),\n user_name : __('Learner', 'learndash-reports-by-wisdmlabs'),\n instructors : __('Instructor', 'learndash-reports-by-wisdmlabs'),\n students : __('No. Of Students', 'learndash-reports-by-wisdmlabs'),\n start_date : __('Start Date', 'learndash-reports-by-wisdmlabs'),\n started : __('Enrolled On', 'learndash-reports-by-wisdmlabs'),\n end_date : __('End Date', 'learndash-reports-by-wisdmlabs'),\n completed : __('Completion Date', 'learndash-reports-by-wisdmlabs'),\n completion_rate : __('Completion %', 'learndash-reports-by-wisdmlabs'),\n completion_rate2 : __('% Completion', 'learndash-reports-by-wisdmlabs'),\n completed_users : __('Completed Learners', 'learndash-reports-by-wisdmlabs'),\n in_progress : __( 'In Progress', 'learndash-reports-by-wisdmlabs' ),\n not_started : __( 'Not Started', 'learndash-reports-by-wisdmlabs' ),\n lesson : __('Lesson', 'learndash-reports-by-wisdmlabs'),\n course_progress : __('Completion %', 'learndash-reports-by-wisdmlabs'),\n quizzes : __('No. Of', 'learndash-reports-by-wisdmlabs') + ' ' + wisdm_reports_get_ld_custom_lebel_if_avaiable('Quizzes') ,\n quiz_count : __('No. Of', 'learndash-reports-by-wisdmlabs') + ' ' + wisdm_reports_get_ld_custom_lebel_if_avaiable('Quizzes'),\n quiz_title : wisdm_reports_get_ld_custom_lebel_if_avaiable('Quiz') + ' ' + __('Title', 'learndash-reports-by-wisdmlabs'),\n total_attempts : __('Total Attempts', 'learndash-reports-by-wisdmlabs'),\n attempts : wisdm_reports_get_ld_custom_lebel_if_avaiable('Quiz') + ' ' + __('Attempts', 'learndash-reports-by-wisdmlabs'),\n pass_rate : wisdm_reports_get_ld_custom_lebel_if_avaiable('Quiz') + ' ' + __('Pass %', 'learndash-reports-by-wisdmlabs'),\n avg_score : __( 'Avg', 'learndash-reports-by-wisdmlabs' ) + ' ' + wisdm_reports_get_ld_custom_lebel_if_avaiable('Quiz') + ' ' + __('Score', 'learndash-reports-by-wisdmlabs'),\n pass_count : __('No. Of Quizzes Pass', 'learndash-reports-by-wisdmlabs'),\n fail_count : __('No. Of Quizzes Fail', 'learndash-reports-by-wisdmlabs'),\n time_spent : __('Time Spent', 'learndash-reports-by-wisdmlabs'),\n total_time_spent : __('Total Time Spent', 'learndash-reports-by-wisdmlabs'),\n avg_total_time_spent : __('Avg. Total Time Spent', 'learndash-reports-by-wisdmlabs'),\n course_completion_time: __('Completion Time', 'learndash-reports-by-wisdmlabs'),\n avg_time_spent : __('Avg. Completion Time', 'learndash-reports-by-wisdmlabs'),\n quiz_attendant_count : __('No. Of Students Completed Quiz', 'learndash-reports-by-wisdmlabs'),\n quiz_attendant_count : __('No. Of Students Completed Quiz', 'learndash-reports-by-wisdmlabs'),\n topic_title : wisdm_reports_get_ld_custom_lebel_if_avaiable('Topic') + ' ' + __(' Title', 'learndash-reports-by-wisdmlabs'),\n topic_completion_count: wisdm_reports_get_ld_custom_lebel_if_avaiable('Topic') + ' ' +__('Completed By Students', 'learndash-reports-by-wisdmlabs'),\n quiz_time : wisdm_reports_get_ld_custom_lebel_if_avaiable('Quiz') + ' ' + __('Time', 'learndash-reports-by-wisdmlabs'),\n quiz_attempts : wisdm_reports_get_ld_custom_lebel_if_avaiable('Quiz') + ' ' + __('Attempts', 'learndash-reports-by-wisdmlabs'),\n };\n \n if (null!=response && response.length>0) {\n var response_headers = Object.keys(response[0]);\n if (response_headers.length>0) {\n for (let i = 0; i < response_headers.length; i++) {\n let name = response_headers[i];\n if (undefined==table_header_names[name]) {\n headers.push({\"Header\":name, \"accessor\":name, className: 'table-'+name , toolTip : name == 'total_time_spent' || name == 'time_spent' || name == 'time' || name == 'avg_time_spent' || name == 'course_completion_time' || name == 'avg_total_time_spent' ? true : false});\n } else {\n headers.push({\"Header\":table_header_names[name], \"accessor\":name, className: 'table-'+name , toolTip : name == 'total_time_spent' || name == 'time_spent' || name == 'time' || name == 'avg_time_spent' || name == 'course_completion_time' || name == 'avg_total_time_spent' ? true : false});\n } \n }\n }\n }\n return headers;\n }\n\n\n getCourseListStateData(request_url='/rp/v1/course-list-info') {\n this.setState({\n isLoaded: false,\n });\n let self = this; \n let checkIfEmpty = function() {\n setTimeout(function () {\n if (window.callStack.length > 4) {\n checkIfEmpty();\n }\n else {\n window.callStack.push(request_url);\n if ( wisdm_ld_reports_common_script_data.wpml_lang ) {\n request_url += '&wpml_lang=' + wisdm_ld_reports_common_script_data.wpml_lang;\n }\n wp.apiFetch({\n path: request_url,\n }).then(response => {\n var table = response.table;\n if (undefined==response) {\n table = [];\n }\n if ( response.updated_on ) {\n self.setState({updated_on: response.updated_on});\n }\n self.setState(\n {\n isLoaded: true,\n error:null,\n isProVersion:wisdm_learndash_reports_front_end_script_course_list.is_pro_version_active,\n tableHeaders: self.getTableHeadersByType(response.table),\n tableData: response.table,\n request_data: response.requestData,\n });\n window.callStack.pop();\n }).catch((error) => {\n if(error.data && error.data.requestData) {\n self.setState({request_data:error.data.requestData})\n }\n self.setState({\n error:error,\n graph_summary:[],\n series:[],\n isLoaded: true,\n });\n window.callStack.pop();\n });\n }\n }, 500);\n };\n checkIfEmpty();\n }\n\n getExcelFile() {\n jQuery.ajax(\n {\n type: 'POST',\n url: wisdm_learndash_reports_front_end_script_course_list.ajaxurl,\n dataType: \"JSON\",\n data: {\n action:'export_course_statistics',\n report_nonce:wisdm_learndash_reports_front_end_script_course_list.report_nonce,\n tableHeaders:this.state.tableHeaders,\n tableData:JSON.stringify(this.state.tableData),\n },\n error: function(eventData){\n if('timeout' === eventData['status']) { \n alert('Request Timed Out'); \n }\n },\n success: function(response){\n if ('success'==response.status) {\n window.open(response.data, '_blank');\n //process download\n } else {\n alert(response.data);\n }\n }, timeout: 60000 // sets timeout to 60 seconds\n });\n }\n\n refreshUpdateTime() {\n this.setState({isLoaded: false});\n let requestUrl = '/rp/v1/course-list-info/';\n if (window.globalfilters != undefined) {\n let category = window.globalfilters.detail.selected_categories;\n let group = window.globalfilters.detail.selected_groups;\n let course = window.globalfilters.detail.selected_courses;\n let lesson = window.globalfilters.detail.selected_lessons;\n let topic = window.globalfilters.detail.selected_topics;\n let learner = window.globalfilters.detail.selected_learners;\n let start_date = this.state.start_date;\n let end_date = this.state.end_date;\n requestUrl = requestUrl + '?category=' + category + '&group=' + group + '&course=' + course + '&lesson=' + lesson + '&topic=' + topic + '&learner=' + learner + '&disable_cache=true' + '&start_date=' + start_date + '&end_date=' + end_date;\n } \n this.getCourseListStateData(requestUrl);\n }\n \n render() {\n let body = '';\n if(this.state.course_report_type == 'learner-specific-course-reports' && !wisdm_ld_reports_common_script_data.is_pro_version_active){\n body = ;\n return (body);\n }\n if(''!=this.state.reportTypeInUse && 'default-ld-reports'!=this.state.reportTypeInUse) {\n body = '';\n }else if (!this.state.isLoaded) {\n body = ;\n } else if (this.state.error) {\n // error\n body =
\n
\n
\n \n
\n
\n
\n {this.state.error.message}\n
\n
\n
\n
;\n } else {\n let table_data = this.state.tableData;\n let table_headers = [];\n let table_parsed_data = [];\n\n for( var itrator = 0; itrator < this.state.tableHeaders.length; itrator++ ){\n table_headers[itrator] = this.state.tableHeaders[itrator]['Header'];\n }\n table_parsed_data.push(table_headers);\n for (let letter of table_data.values()) {\n table_parsed_data.push(Object.values(letter));\n }\n body = \n
\n
\n
\n \n
\n
\n {__('Detailed', 'learndash-reports-by-wisdmlabs') + ' ' + wisdm_reports_get_ld_custom_lebel_if_avaiable('Course') + ' ' + __('Reports', 'learndash-reports-by-wisdmlabs')}\n
\n {__('Download ','learndash-reports-by-wisdmlabs')} \n {\n this.state.isProVersion?(\n ):()\n }\n {\n this.state.isProVersion?(\n ):()\n }\n
\n
\n
\n
{__( 'Last updated: ', 'learndash-reports-by-wisdmlabs' )}{this.state.updated_on}
\n
\n
\n {\n ( this.state.tableHeaders.length > 0 )?:
{__('No Data Found', 'learndash-reports-by-wisdmlabs')}
\n }\n \n \n \n ;\n \n }\n return (body);\n }\n }\n\nexport default CourseList; \n\ndocument.addEventListener(\"DOMContentLoaded\", function(event) {\n let elem = document.getElementsByClassName('wisdm-learndash-reports-course-list');\n if (elem.length>0) {\n ReactDOM.render(React.createElement(CourseList), elem[0]); \n }\n});\n\n\n\n\n"],"names":["React","Component","__","DummyReports","constructor","props","image","undefined","image_path","url","render","dummyContent","upgrade_button","or_txt","wisdm_ld_reports_common_script_data","is_admin_user","createElement","className","target","href","class","src","wisdm_learndash_reports_front_end_script_total_revenue_earned","plugin_asset_url","moment","WisdmFilters","request_data","category","group","course_name","course","lesson_name","lesson","topic_name","topic","learner_name","learner","start_date","end_date","getElement","label","value","html","getDuration","unix","format","filterData","duration","WisdmLoader","loadingData","show_text","text","createHooks","useTable","usePagination","CSVLink","Table","_ref","columns","data","getTableProps","getTableBodyProps","headerGroups","prepareRow","page","canPreviousPage","canNextPage","pageOptions","pageCount","gotoPage","nextPage","previousPage","setPageSize","state","pageIndex","pageSize","initialState","tooltip_text","icon_enabled","time_tracking_enabled","wisdm_learndash_reports_front_end_script_course_list","is_idle_tracking_enabled","is_pro_version_active","idle_tracking_active_from","time_tacking_setting_url","wisdm_learndash_reports_front_end_script_report_filters","upgrade_link","console","log","Fragment","_extends","map","headerGroup","getHeaderGroupProps","headers","column","getHeaderProps","toolTip","wisdm_learndash_reports_front_end_script_total_courses","row","i","getRowProps","cells","cell","getCellProps","onClick","disabled","length","CourseList","isLoaded","isProVersion","Date","reportTypeInUse","report_type","error","course_report_type","show_supporting_text","applyFilters","bind","handleReportTypeChange","getExcelFile","durationUpdated","showDummyImages","componentDidMount","request_url","getCourseListStateData","document","addEventListener","event","setState","detail","startDate","endDate","requestUrl","type","window","globalfilters","selected_categories","selected_groups","selected_courses","selected_lessons","selected_topics","selected_learners","active_reports_tab","wisdm_reports_change_block_visibility","getTableHeadersByType","response","table_header_names","id","name","email","status","steps","date","time","total_spent_time","wisdm_reports_get_ld_custom_lebel_if_avaiable","groups","user_name","instructors","students","started","completed","completion_rate","completion_rate2","completed_users","in_progress","not_started","course_progress","quizzes","quiz_count","quiz_title","total_attempts","attempts","pass_rate","avg_score","pass_count","fail_count","time_spent","total_time_spent","avg_total_time_spent","course_completion_time","avg_time_spent","quiz_attendant_count","topic_title","topic_completion_count","quiz_time","quiz_attempts","response_headers","Object","keys","push","arguments","self","checkIfEmpty","setTimeout","callStack","wpml_lang","wp","apiFetch","path","then","table","updated_on","tableHeaders","tableData","requestData","pop","catch","graph_summary","series","jQuery","ajax","ajaxurl","dataType","action","report_nonce","JSON","stringify","eventData","alert","success","open","timeout","refreshUpdateTime","body","message","table_data","table_headers","table_parsed_data","itrator","letter","values","filename","title","elem","getElementsByClassName","ReactDOM"],"sourceRoot":""}