{"version":3,"sources":["jsdelivr-header.js","/npm/json-meta-table@1.4.1/dist/json-meta-table.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,OAAO,eAAe,QAAS,aAAc,CACzC,OAAO,IAEX,QAAQ,WAAa,QAAQ,aAAe,QAAQ,WAAa,QAAQ,qBAAuB,QAAQ,iBAAmB,QAAQ,iBAAmB,QAAQ,eAAiB,QAAQ,eAAiB,QAAQ,aAAe,QAAQ,aAAe,QAAQ,eAAiB,QAAQ,aAAe,QAAQ,WAAa,QAAQ,gBAAa,EAEhV,IAAI,aAAe,WAAc,SAAS,EAAiB,EAAQ,GAAS,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CAAE,IAAI,EAAa,EAAM,GAAI,EAAW,WAAa,EAAW,aAAc,EAAO,EAAW,cAAe,EAAU,UAAW,IAAY,EAAW,UAAW,GAAM,OAAO,eAAe,EAAQ,EAAW,IAAK,EAAa,CAAE,CAAE,OAAO,SAAU,EAAa,EAAY,GAAiJ,OAA9H,GAAY,EAAiB,EAAY,UAAW,GAAiB,GAAa,EAAiB,EAAa,GAAqB,CAAa,CAAG,CAA7hB,GAEf,oBAAsB,QAAQ,wBAE9B,qBAAuB,uBAAuB,qBAE9C,YAAc,QAAQ,wBAEtB,aAAe,uBAAuB,aAEtC,YAAc,QAAQ,wBAEtB,aAAe,uBAAuB,aAEtC,cAAgB,QAAQ,0BAExB,eAAiB,uBAAuB,eAExC,gBAAkB,QAAQ,4BAE1B,iBAAmB,uBAAuB,iBAE1C,cAAgB,QAAQ,4BAExB,eAAiB,uBAAuB,eAExC,cAAgB,QAAQ,4BAExB,eAAiB,uBAAuB,eAExC,gBAAkB,QAAQ,8BAE1B,iBAAmB,uBAAuB,iBAE1C,gBAAkB,QAAQ,8BAE1B,iBAAmB,uBAAuB,iBAE1C,kBAAoB,QAAQ,gCAE5B,mBAAqB,uBAAuB,mBAE5C,kBAAoB,QAAQ,gCAE5B,mBAAqB,uBAAuB,mBAE5C,sBAAwB,QAAQ,oCAEhC,uBAAyB,uBAAuB,uBAEhD,YAAc,QAAQ,wBAEtB,aAAe,uBAAuB,aAEtC,cAAgB,QAAQ,0BAExB,eAAiB,uBAAuB,eAExC,YAAc,QAAQ,wBAEtB,aAAe,uBAAuB,aAE1C,SAAS,uBAAuB,GAAO,OAAO,GAAO,EAAI,WAAa,EAAM,CAAE,QAAS,EAAO,CAE9F,SAAS,gBAAgB,EAAU,GAAe,KAAM,aAAoB,GAAgB,MAAM,IAAI,UAAU,oCAAwC,CAExJ,SAAS,2BAA2B,EAAM,GAAQ,IAAK,EAAQ,MAAM,IAAI,eAAe,6DAAgE,OAAO,GAAyB,iBAAT,GAAqC,mBAAT,EAA8B,EAAP,CAAa,CAE/O,SAAS,UAAU,EAAU,GAAc,GAA0B,mBAAf,GAA4C,OAAf,EAAuB,MAAM,IAAI,UAAU,kEAAoE,GAAe,EAAS,UAAY,OAAO,OAAO,GAAc,EAAW,UAAW,CAAE,YAAa,CAAE,MAAO,EAAU,YAAY,EAAO,UAAU,EAAM,cAAc,KAAe,IAAY,OAAO,eAAiB,OAAO,eAAe,EAAU,GAAc,EAAS,UAAY,EAAY,CAE7e,QAAQ,WAAa,aAAa,QAClC,QAAQ,WAAa,aAAa,QAClC,QAAQ,aAAe,eAAe,QACtC,QAAQ,eAAiB,iBAAiB,QAC1C,QAAQ,aAAe,eAAe,QACtC,QAAQ,aAAe,eAAe,QACtC,QAAQ,eAAiB,iBAAiB,QAC1C,QAAQ,eAAiB,iBAAiB,QAC1C,QAAQ,iBAAmB,mBAAmB,QAC9C,QAAQ,iBAAmB,mBAAmB,QAC9C,QAAQ,qBAAuB,uBAAuB,QACtD,QAAQ,WAAa,aAAa,QAClC,QAAQ,aAAe,eAAe,QACtC,QAAQ,WAAa,aAAa,QAGlC,IAAI,QAAU,CACV,WAAY,kBACZ,iBAAkB,yBAClB,aAAc,2BACd,cAAe,2BACf,aAAc,2BACd,cAAe,4BACf,gBAAiB,6BACjB,sBAAuB,0BACvB,kBAAmB,gCAEnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAEjB,SAAW,CACX,KAAM,GACN,MAAO,GACP,KAAM,OACN,KAAM,KACN,QAAS,KACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAU,EACV,YAAQ,EACR,gBAAiB,CAAC,GAElB,QAAU,CACV,KAAM,aAAa,QACnB,OAAQ,eAAe,QACvB,SAAU,iBAAiB,SAE3B,UAAY,CACZ,KAAM,eAAe,QACrB,OAAQ,iBAAiB,QACzB,OAAQ,iBAAiB,QACzB,SAAU,mBAAmB,QAC7B,SAAU,mBAAmB,QAC7B,aAAc,uBAAuB,SAErC,QAAU,CACV,OAAQ,eAAe,QACvB,KAAM,aAAa,SAOnB,cAAgB,WAiBhB,SAAS,EAAc,GACnB,IAAI,EAAU,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,CAAC,EAAI,UAAU,GAC/E,EAAgB,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,CAAC,EAAI,UAAU,GACrF,EAAU,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,GAAK,UAAU,GAC/E,EAAc,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,CAAC,EAAI,UAAU,GACnF,EAAgB,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,CAAC,EAAI,UAAU,GACrF,EAAc,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,CAAC,EAAI,UAAU,GAEvF,gBAAgB,KAAM,GAEtB,IAAI,EAAQ,2BAA2B,KAAM,OAAO,eAAe,GAAe,KAAK,OA+BvF,OA7BA,EAAM,aAAe,GACrB,EAAM,KAAO,GACb,EAAM,SAAW,GAEjB,EAAM,QAAU,CACZ,OAAQ,KACR,UAAW,MAEf,EAAM,UAAY,CAAC,EAEnB,EAAM,QAAU,OAAO,OAAO,CAAC,EAAG,QAAS,GAC3C,EAAM,cAAgB,EACtB,EAAM,QAAU,EAChB,EAAM,QAAU,OAAO,OAAO,CAAC,EAAG,QAAS,GAC3C,EAAM,UAAY,OAAO,OAAO,CAAC,EAAG,UAAW,GAC/C,EAAM,YAAc,OAAO,OAAO,CAAC,EAAG,QAAS,GAE/C,EAAM,UAAiC,iBAAd,EAAyB,SAAS,cAAc,GAAa,EAElF,EAAM,QAAQ,gBACd,EAAM,QAAQ,KAAK,CACf,KAAM,SACN,KAAM,SACN,KAAM,SACN,MAAO,kBACP,UAAW,EAAM,QAAQ,kBACzB,MAAO,EAAM,wBAAwB,KAAK,KAG3C,CACX,CA8oBA,OAxsBA,UAAU,EAysBZ,qBAAqB,SAjoBnB,aAAa,EAAe,CAAC,CACzB,IAAK,sBACL,MAAO,SAA6B,GAChC,OAAO,KAAK,SAAS,MAAK,SAAU,GAChC,OAAO,EAAK,OAAS,CACzB,GACJ,GAaD,CACC,IAAK,0BACL,MAAO,SAAiC,EAAM,GAC1C,IAAI,EAAY,KAAK,QAAQ,SAAW,EAAK,MAAmC,QAA3B,KAAK,QAAQ,UAAsB,OAAS,MAEjG,KAAK,OAAO,EAAK,KAAM,EAC3B,GAQD,CACC,IAAK,2BACL,MAAO,SAAkC,GACrC,KAAK,SAAS,EAAK,KAAM,EAAK,OAAO,MACzC,GAYD,CACC,IAAK,6BACL,MAAO,SAAoC,EAAK,EAAM,GAC9C,EAAS,aACT,KAAK,QAAQ,gBAAiB,CAC1B,IAAK,EACL,KAAM,EACN,SAAU,EAAS,MACnB,gBAAiB,EAAS,eAGzB,EAAI,gBACL,EAAI,cAAgB,CAAC,GAGzB,EAAI,OAAO,EAAS,KAAK,MAAQ,EAAS,MAC1C,EAAI,cAAc,EAAS,KAAK,MAAQ,EAAS,aAEjD,KAAK,QAAQ,iBAAkB,CAC3B,IAAK,EACL,KAAM,IAGlB,GAQD,CACC,IAAK,0BACL,MAAO,SAAiC,GACpC,KAAK,UAAU,EACnB,GAaD,CACC,IAAK,aACL,MAAO,WACH,IAAI,EAAS,KAEb,KAAK,QAAQ,kBAEb,KAAK,SAAS,UAAY,GAE1B,KAAK,SAAS,KAAI,SAAU,GACxB,EAAK,GAAK,SAAS,cAAc,MACjC,EAAK,YAAc,SAAS,cAAc,OAE1C,EAAK,YAAY,UAAY,EAAO,QAAQ,iBAC5C,EAAK,YAAY,UAAY,SAAW,EAAK,MAAQ,UAErD,EAAK,GAAG,YAAY,EAAK,aAErB,EAAK,OACL,EAAK,GAAG,UAAU,IAAI,EAAO,QAAQ,cACrC,EAAK,GAAG,MAAQ,EAAK,MAGrB,EAAK,WACL,EAAK,GAAG,UAAU,IAAI,EAAO,QAAQ,eACrC,EAAK,YAAY,iBAAiB,QAAS,EAAO,wBAAwB,KAAK,EAAQ,KAGvF,EAAK,YAAc,EAAO,QAAQ,kBAClC,EAAK,GAAG,UAAU,IAAI,EAAO,QAAQ,iBAErC,EAAK,GAAG,YAAY,EAAK,OAAO,YAGpC,EAAO,SAAS,YAAY,EAAK,GACrC,IAEI,KAAK,QAAQ,OAAS,GACtB,KAAK,SAAS,YAAY,SAAS,cAAc,OAGrD,KAAK,QAAQ,kBACjB,GASD,CACC,IAAK,aACL,MAAO,WACH,IAAI,EAAS,KAEb,KAAK,QAAQ,kBAEb,KAAK,MAAM,UAAY,GAEvB,KAAK,KAAK,KAAI,SAAU,GAsBhB,IACQ,EAtBZ,EAAI,GAAK,SAAS,cAAc,MAChC,EAAI,MAAQ,CAAC,EACb,EAAI,UAAY,CAAC,EAEb,EAAI,cACJ,EAAI,GAAG,UAAY,EAAI,aAG3B,EAAO,SAAS,KAAI,SAAU,GAC1B,IAAI,EAAe,EAAI,eAAiB,EAAI,cAAc,EAAK,MAAQ,EAAI,cAAc,EAAK,WAAQ,EAEtG,EAAI,MAAM,EAAK,MAAQ,SAAS,cAAc,MAC9C,EAAI,UAAU,EAAK,MAAQ,IAAI,EAAK,SAAS,EAAQ,EAAM,EAAK,EAAI,OAAO,EAAK,MAAO,GAEvF,EAAI,UAAU,EAAK,MAAM,GAAG,gBAAiB,EAAO,2BAA2B,KAAK,EAAQ,EAAK,EAAM,EAAI,UAAU,EAAK,QAE1H,EAAI,MAAM,EAAK,MAAM,YAAY,EAAI,UAAU,EAAK,MAAM,WAC1D,EAAI,GAAG,YAAY,EAAI,MAAM,EAAK,MACtC,IAEI,EAAO,QAAQ,OAAS,IAEhB,EAAmB,SAAS,cAAc,OAE9C,EAAI,QAAU,CAAC,EACf,EAAI,MAAM,QAAU,SAAS,cAAc,MAE3C,EAAiB,UAAY,EAAO,QAAQ,sBAE5C,EAAO,QAAQ,KAAI,SAAU,GACzB,EAAI,QAAQ,EAAO,MAAQ,IAAI,EAAO,YAAY,EAAO,MAAM,EAAK,GACpE,EAAiB,YAAY,EAAI,QAAQ,EAAO,MAAM,OAC1D,IAEA,EAAI,MAAM,QAAQ,YAAY,GAC9B,EAAI,GAAG,YAAY,EAAI,MAAM,UAIrC,EAAO,MAAM,YAAY,EAAI,GACjC,IAEA,KAAK,QAAQ,kBACjB,GASD,CACC,IAAK,SACL,MAAO,WACH,KAAK,QAAQ,cAER,KAAK,QACN,KAAK,MAAQ,SAAS,cAAc,SACpC,KAAK,MAAQ,SAAS,cAAc,SACpC,KAAK,MAAQ,SAAS,cAAc,SACpC,KAAK,SAAW,SAAS,cAAc,MAEvC,KAAK,MAAM,UAAY,KAAK,QAAQ,WAEpC,KAAK,MAAM,YAAY,KAAK,UAC5B,KAAK,MAAM,YAAY,KAAK,OAC5B,KAAK,MAAM,YAAY,KAAK,OAC5B,KAAK,UAAU,YAAY,KAAK,QAGpC,KAAK,aACL,KAAK,aAEL,KAAK,QAAQ,cACjB,GAcD,CACC,IAAK,cACL,MAAO,SAAqB,GACxB,IAAI,EAAS,KAEb,KAAK,QAAQ,kBAAmB,CAC5B,YAAa,IAGjB,KAAK,SAAW,EAEhB,KAAK,SAAS,KAAI,SAAU,EAAM,GAC9B,EAAO,SAAS,GAAS,OAAO,OAAO,CAAC,EAAG,SAAU,GAEhD,EAAO,SAAS,GAAO,WACxB,EAAO,SAAS,GAAO,SAAW,EAAO,UAAU,EAAO,SAAS,GAAO,MAAQ,EAAO,UAAU,EAAO,SAAS,GAAO,MAAQ,EAAO,UAAU,MAGnJ,EAAO,QAAQ,iBAAmB,EAAO,SAAS,GAAO,aAAe,EAAO,SAAS,GAAO,SAC/F,EAAO,SAAS,GAAO,OAAS,EAAO,QAAQ,EAAO,SAAS,GAAO,MAAQ,IAAI,EAAO,QAAQ,EAAO,SAAS,GAAO,MAAM,EAAM,EAAO,eAAiB,IAAI,EAAO,QAAQ,KAAK,EAAM,EAAO,eAE7L,EAAO,UAAU,EAAK,OACtB,EAAO,SAAS,GAAO,OAAO,SAAS,EAAO,UAAU,EAAK,OAGjE,EAAO,SAAS,GAAO,OAAO,GAAG,gBAAiB,EAAO,yBAAyB,KAAK,EAAQ,EAAO,SAAS,KAEvH,IAEI,KAAK,OACL,KAAK,SAGT,KAAK,QAAQ,mBACjB,GAUD,CACC,IAAK,UACL,MAAO,SAAiB,GACpB,KAAK,QAAQ,cAAe,CACxB,QAAS,IAGb,KAAK,aAAe,EACpB,KAAK,KAAO,EAEP,KAAK,MAGN,KAAK,aAFL,KAAK,SAKT,KAAK,QAAQ,eACjB,GAWD,CACC,IAAK,SACL,MAAO,SAAgB,GACnB,IAAI,EAAY,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,MAAQ,UAAU,GAExF,KAAK,QAAQ,aAAc,CACvB,OAAQ,EACR,UAAW,IAGf,IAAI,EAAU,KAAK,KAAK,QACpB,EAAsB,QAAd,EAAsB,GAAK,EAEvC,EAAQ,MAAK,SAAU,EAAG,GAGtB,OAFa,EAAE,OAAO,GAAU,EAAE,OAAO,IAAW,EAAI,EAAE,OAAO,GAAU,EAAE,OAAO,GAAU,EAAI,GAElF,CACpB,IAEA,KAAK,QAAU,CACX,OAAQ,EACR,UAAW,GAGf,KAAK,KAAO,EACZ,KAAK,aAEL,IAAI,GAA4B,EAC5B,GAAoB,EACpB,OAAiB,EAErB,IACI,IAAK,IAAkD,EAA9C,EAAY,KAAK,SAAS,OAAO,cAAsB,GAA6B,EAAQ,EAAU,QAAQ,MAAO,GAA4B,EAAM,CAC5J,IAAI,EAAO,EAAM,MAEjB,EAAK,GAAG,UAAU,OAAO,KAAK,QAAQ,aAAc,KAAK,QAAQ,eAE7D,EAAK,OAAS,IACI,QAAd,EACA,EAAK,GAAG,UAAU,IAAI,KAAK,QAAQ,cAEnC,EAAK,GAAG,UAAU,IAAI,KAAK,QAAQ,eAG/C,CACJ,CAAE,MAAO,GACL,GAAoB,EACpB,EAAiB,CACrB,CAAE,QACE,KACS,GAA6B,EAAU,QACxC,EAAU,QAElB,CAAE,QACE,GAAI,EACA,MAAM,CAEd,CACJ,CAEA,KAAK,QAAQ,cAAe,CACxB,OAAQ,EACR,UAAW,GAEnB,GAUD,CACC,IAAK,kBACL,MAAO,SAAyB,GAC5B,IAAI,EAAS,KAET,EAAU,OAAO,KAAK,GAEtB,GAA6B,EAC7B,GAAqB,EACrB,OAAkB,EAEtB,IACI,IAAK,IAA6C,EAAzC,EAAa,EAAQ,OAAO,cAAuB,GAA8B,EAAS,EAAW,QAAQ,MAAO,GAA6B,EAAM,CAC5J,IAAI,EAAS,EAAO,MAEe,KAA/B,IAAI,OAAO,EAAO,YACX,EAAO,EAEtB,CACJ,CAAE,MAAO,GACL,GAAqB,EACrB,EAAkB,CACtB,CAAE,QACE,KACS,GAA8B,EAAW,QAC1C,EAAW,QAEnB,CAAE,QACE,GAAI,EACA,MAAM,CAEd,CACJ,CAEA,KAAK,QAAQ,sBAAuB,CAChC,OAAQ,IAGZ,EAAU,OAAO,KAAK,GAEtB,KAAK,UAAY,EAEjB,KAAK,KAAO,KAAK,aAAa,QAAO,SAAU,GAC3C,IAAI,EAAU,EAEV,GAA6B,EAC7B,GAAqB,EACrB,OAAkB,EAEtB,IACI,IAAK,IAA6C,EAAzC,EAAa,EAAQ,OAAO,cAAuB,GAA8B,EAAS,EAAW,QAAQ,MAAO,GAA6B,EAAM,CAC5J,IAAI,EAAS,EAAO,MAEhB,EAAa,IAAI,OAAO,EAAO,UAAU,IAAS,cAClD,EAAO,EAAO,oBAAoB,GAEnB,KAAf,GAKA,EAAK,SAAW,EAAI,OAAO,KAAY,EAAO,UAAU,IAEjD,IAAI,OAAO,EAAI,OAAO,IAAS,cAAc,QAAQ,IAAe,KAD3E,GAAW,GALX,GAAW,CASnB,CACJ,CAAE,MAAO,GACL,GAAqB,EACrB,EAAkB,CACtB,CAAE,QACE,KACS,GAA8B,EAAW,QAC1C,EAAW,QAEnB,CAAE,QACE,GAAI,EACA,MAAM,CAEd,CACJ,CAEA,OAAO,GAAW,EAAQ,MAC9B,IAEI,KAAK,QAAQ,OACb,KAAK,OAAO,KAAK,QAAQ,OAAQ,KAAK,QAAQ,WAE9C,KAAK,aAGT,KAAK,QAAQ,uBAAwB,CACjC,OAAQ,GAEhB,GAWD,CACC,IAAK,WACL,MAAO,SAAkB,EAAQ,GAC7B,KAAK,QAAQ,eAAgB,CACzB,OAAQ,EACR,OAAQ,IAGZ,KAAK,UAAU,GAAU,EAEzB,KAAK,gBAAgB,KAAK,WAE1B,KAAK,QAAQ,gBAAiB,CAC1B,OAAQ,EACR,OAAQ,GAEhB,GAUD,CACC,IAAK,SACL,MAAO,SAAgB,GACnB,IAAI,EAAS,KAEb,KAAK,QAAQ,aAAc,CACvB,OAAQ,IAGZ,IAAI,EAAa,IAAI,OAAO,GAAQ,cAEpC,KAAK,KAAO,KAAK,aAAa,QAAO,SAAU,GAC3C,GAAmB,KAAf,EACA,OAAO,EAGX,IAAI,GAAa,EAEb,GAA6B,EAC7B,GAAqB,EACrB,OAAkB,EAEtB,IACI,IAAI,EAAQ,WACR,IAAI,EAAO,EAAO,MAElB,IAAK,EAAK,WACN,MAAO,WAGX,IAAI,GAAmB,EACnB,EAAkB,IAAI,OAAO,EAAI,OAAO,EAAK,OAAO,cAAc,QAAQ,IAAe,EAQ7F,OANI,EAAK,UACL,OAEO,IAFY,EAAK,QAAQ,MAAK,SAAU,GAC3C,OAAO,EAAO,QAAU,EAAI,OAAO,EAAK,OAAS,EAAO,MAAM,cAAc,QAAQ,IAAe,CACvG,KAGA,GAAoB,GACpB,GAAa,EACN,cAFX,CAIJ,EAEA,EAAQ,IAAK,IAAqD,EAAjD,EAAa,EAAO,SAAS,OAAO,cAAuB,GAA8B,EAAS,EAAW,QAAQ,MAAO,GAA6B,EAAM,CAG5K,OAFY,KAGR,IAAK,WACD,SAEJ,IAAK,QACD,MAAM,EAClB,CACJ,CAAE,MAAO,GACL,GAAqB,EACrB,EAAkB,CACtB,CAAE,QACE,KACS,GAA8B,EAAW,QAC1C,EAAW,QAEnB,CAAE,QACE,GAAI,EACA,MAAM,CAEd,CACJ,CAEA,OAAO,CACX,IAEI,KAAK,QAAQ,OACb,KAAK,OAAO,KAAK,QAAQ,OAAQ,KAAK,QAAQ,WAE9C,KAAK,aAGT,KAAK,QAAQ,cAAe,CACxB,OAAQ,GAEhB,GAUD,CACC,IAAK,YACL,MAAO,SAAmB,GACtB,IAAI,EAAK,EAAI,GAAK,EAAI,GAAK,EAE3B,KAAK,QAAQ,gBAAiB,CAC1B,GAAI,IAGR,IAAI,EAAO,KAAK,aAAa,QAAO,SAAU,GAC1C,OAAO,EAAK,KAAO,CACvB,IAEA,KAAK,QAAQ,GAEb,KAAK,QAAQ,iBAAkB,CAC3B,GAAI,GAEZ,KAMG,CACX,CA1sBoB,GA4sBpB,QAAQ,QAAU","file":"/npm/json-meta-table@1.4.1/dist/json-meta-table.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/json-meta-table@1.4.1/dist/json-meta-table.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nexports.LinkAction = exports.ButtonAction = exports.BaseAction = exports.AutocompleteRenderer = exports.DateTimeRenderer = exports.CheckboxRenderer = exports.SelectRenderer = exports.NumberRenderer = exports.TextRenderer = exports.BaseRenderer = exports.CheckboxFilter = exports.SelectFilter = exports.TextFilter = exports.BaseFilter = undefined;\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 _eventAbstractClass = require('event-abstract-class');\n\nvar _eventAbstractClass2 = _interopRequireDefault(_eventAbstractClass);\n\nvar _BaseFilter = require('./filters/BaseFilter');\n\nvar _BaseFilter2 = _interopRequireDefault(_BaseFilter);\n\nvar _TextFilter = require('./filters/TextFilter');\n\nvar _TextFilter2 = _interopRequireDefault(_TextFilter);\n\nvar _SelectFilter = require('./filters/SelectFilter');\n\nvar _SelectFilter2 = _interopRequireDefault(_SelectFilter);\n\nvar _CheckboxFilter = require('./filters/CheckboxFilter');\n\nvar _CheckboxFilter2 = _interopRequireDefault(_CheckboxFilter);\n\nvar _BaseRenderer = require('./renderers/BaseRenderer');\n\nvar _BaseRenderer2 = _interopRequireDefault(_BaseRenderer);\n\nvar _TextRenderer = require('./renderers/TextRenderer');\n\nvar _TextRenderer2 = _interopRequireDefault(_TextRenderer);\n\nvar _NumberRenderer = require('./renderers/NumberRenderer');\n\nvar _NumberRenderer2 = _interopRequireDefault(_NumberRenderer);\n\nvar _SelectRenderer = require('./renderers/SelectRenderer');\n\nvar _SelectRenderer2 = _interopRequireDefault(_SelectRenderer);\n\nvar _CheckboxRenderer = require('./renderers/CheckboxRenderer');\n\nvar _CheckboxRenderer2 = _interopRequireDefault(_CheckboxRenderer);\n\nvar _DateTimeRenderer = require('./renderers/DateTimeRenderer');\n\nvar _DateTimeRenderer2 = _interopRequireDefault(_DateTimeRenderer);\n\nvar _AutocompleteRenderer = require('./renderers/AutocompleteRenderer');\n\nvar _AutocompleteRenderer2 = _interopRequireDefault(_AutocompleteRenderer);\n\nvar _BaseAction = require('./actions/BaseAction');\n\nvar _BaseAction2 = _interopRequireDefault(_BaseAction);\n\nvar _ButtonAction = require('./actions/ButtonAction');\n\nvar _ButtonAction2 = _interopRequireDefault(_ButtonAction);\n\nvar _LinkAction = require('./actions/LinkAction');\n\nvar _LinkAction2 = _interopRequireDefault(_LinkAction);\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\nexports.BaseFilter = _BaseFilter2.default;\nexports.TextFilter = _TextFilter2.default;\nexports.SelectFilter = _SelectFilter2.default;\nexports.CheckboxFilter = _CheckboxFilter2.default;\nexports.BaseRenderer = _BaseRenderer2.default;\nexports.TextRenderer = _TextRenderer2.default;\nexports.NumberRenderer = _NumberRenderer2.default;\nexports.SelectRenderer = _SelectRenderer2.default;\nexports.CheckboxRenderer = _CheckboxRenderer2.default;\nexports.DateTimeRenderer = _DateTimeRenderer2.default;\nexports.AutocompleteRenderer = _AutocompleteRenderer2.default;\nexports.BaseAction = _BaseAction2.default;\nexports.ButtonAction = _ButtonAction2.default;\nexports.LinkAction = _LinkAction2.default;\n\n\nvar OPTIONS = {\n    tableClass: 'json-meta-table',\n    thContainerClass: 'json-meta-table-header',\n    hasInfoClass: 'json-meta-table-has-info',\n    sortableClass: 'json-meta-table-sortable',\n    sortAscClass: 'json-meta-table-sort-asc',\n    sortDescClass: 'json-meta-table-sort-desc',\n    filterableClass: 'json-meta-table-filterable',\n    actionsContainerClass: 'json-meta-table-actions',\n    deleteActionClass: 'json-meta-table-action-delete',\n\n    inlineEditing: true,\n    inlineDeleting: true,\n    columnFiltering: true\n},\n    METADATA = {\n    name: '',\n    label: '',\n    type: 'text',\n    info: null,\n    options: null,\n    editable: true,\n    sortable: true,\n    filterable: true,\n    required: false,\n    renderer: undefined,\n    filter: undefined,\n    rendererOptions: {}\n},\n    FILTERS = {\n    text: _TextFilter2.default,\n    select: _SelectFilter2.default,\n    checkbox: _CheckboxFilter2.default\n},\n    RENDERERS = {\n    text: _TextRenderer2.default,\n    number: _NumberRenderer2.default,\n    select: _SelectRenderer2.default,\n    checkbox: _CheckboxRenderer2.default,\n    datetime: _DateTimeRenderer2.default,\n    autocomplete: _AutocompleteRenderer2.default\n},\n    ACTIONS = {\n    button: _ButtonAction2.default,\n    link: _LinkAction2.default\n};\n\n/**\n * JSON meta table class\n */\n\nvar JSONMetaTable = function (_EventAbstractClass) {\n    _inherits(JSONMetaTable, _EventAbstractClass);\n\n    // region Constructor\n\n    /**\n     * Constructor\n     *\n     * @param {HTMLElement|String} container     Container to insert table into\n     * @param {Object}             options       Table options\n     * @param {Object}             filterOptions Filter options\n     * @param {Array}              actions       Table row actions\n     * @param {Object}             filterTypes   Custom filters\n     * @param {Object}             rendererTypes Custom renderers\n     * @param {Object}             actionTypes   Custom action types\n     */\n\n    function JSONMetaTable(container) {\n        var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n        var filterOptions = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n        var actions = arguments.length <= 3 || arguments[3] === undefined ? [] : arguments[3];\n        var filterTypes = arguments.length <= 4 || arguments[4] === undefined ? {} : arguments[4];\n        var rendererTypes = arguments.length <= 5 || arguments[5] === undefined ? {} : arguments[5];\n        var actionTypes = arguments.length <= 6 || arguments[6] === undefined ? {} : arguments[6];\n\n        _classCallCheck(this, JSONMetaTable);\n\n        var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(JSONMetaTable).call(this));\n\n        _this.completeData = [];\n        _this.data = [];\n        _this.metadata = [];\n\n        _this.sorting = {\n            column: null,\n            direction: null\n        };\n        _this.filtering = {};\n\n        _this.options = Object.assign({}, OPTIONS, options);\n        _this.filterOptions = filterOptions;\n        _this.actions = actions;\n        _this.filters = Object.assign({}, FILTERS, filterTypes);\n        _this.renderers = Object.assign({}, RENDERERS, rendererTypes);\n        _this.actionTypes = Object.assign({}, ACTIONS, actionTypes);\n\n        _this.container = typeof container === 'string' ? document.querySelector(container) : container;\n\n        if (_this.options.inlineDeleting) {\n            _this.actions.push({\n                name: 'delete',\n                type: 'button',\n                text: 'Delete',\n                title: 'Delete this row',\n                className: _this.options.deleteActionClass,\n                event: _this.handleDeleteActionClick.bind(_this)\n            });\n        }\n        return _this;\n    }\n\n    // endregion Constructor\n\n    // region Helpers\n\n    /**\n     * Get meta by column name\n     *\n     * @param {String} columnName\n     * @returns {Object}\n     */\n\n\n    _createClass(JSONMetaTable, [{\n        key: 'getMetaByColumnName',\n        value: function getMetaByColumnName(columnName) {\n            return this.metadata.find(function (meta) {\n                return meta.name === columnName;\n            });\n        }\n\n        // endregion Helpers\n\n        // region Event handlers\n\n        /**\n         * Handle sortable table header element click event\n         *\n         * @param {Object}     meta Column meta\n         * @param {MouseEvent} evt  Event object\n         */\n\n    }, {\n        key: 'handleSortableHeadClick',\n        value: function handleSortableHeadClick(meta, evt) {\n            var direction = this.sorting.column === meta.name && this.sorting.direction === 'asc' ? 'desc' : 'asc';\n\n            this.sortBy(meta.name, direction);\n        }\n\n        /**\n         * Handle BaseFilter setValue:post event\n         *\n         * @param {Object} meta Header meta\n         */\n\n    }, {\n        key: 'handleFilterPostSetValue',\n        value: function handleFilterPostSetValue(meta) {\n            this.filterBy(meta.name, meta.filter.value);\n        }\n\n        /**\n         * Handle renderer setValue:post event\n         *\n         * @param {Object}       row      Row data\n         * @param {Object}       meta     Column meta\n         * @param {BaseRenderer} renderer Renderer instance\n         * @fires JSONMetaTable#updateRow:pre\n         * @fires JSONMetaTable#updateRow:post\n         */\n\n    }, {\n        key: 'handleRendererPostSetValue',\n        value: function handleRendererPostSetValue(row, meta, renderer) {\n            if (renderer.hasChanged) {\n                this.trigger('updateRow:pre', {\n                    row: row,\n                    meta: meta,\n                    newValue: renderer.value,\n                    newDisplayValue: renderer.displayValue\n                });\n\n                if (!row.displayValues) {\n                    row.displayValues = {};\n                }\n\n                row.values[renderer.meta.name] = renderer.value;\n                row.displayValues[renderer.meta.name] = renderer.displayValue;\n\n                this.trigger('updateRow:post', {\n                    row: row,\n                    meta: meta\n                });\n            }\n        }\n\n        /**\n         * Handle delete action click event\n         *\n         * @param {Object} row Row object to delete\n         */\n\n    }, {\n        key: 'handleDeleteActionClick',\n        value: function handleDeleteActionClick(row) {\n            this.deleteRow(row);\n        }\n\n        // endregion Event handlers\n\n        // region Renderers\n\n        /**\n         * Render table headers\n         *\n         * @fires JSONMetaTable#renderHead:pre\n         * @fires JSONMetaTable#renderHead:post\n         */\n\n    }, {\n        key: 'renderHead',\n        value: function renderHead() {\n            var _this2 = this;\n\n            this.trigger('renderHead:pre');\n\n            this.theadRow.innerHTML = '';\n\n            this.metadata.map(function (meta) {\n                meta.th = document.createElement('th');\n                meta.thContainer = document.createElement('div');\n\n                meta.thContainer.className = _this2.options.thContainerClass;\n                meta.thContainer.innerHTML = '<span>' + meta.label + '</span>';\n\n                meta.th.appendChild(meta.thContainer);\n\n                if (meta.info) {\n                    meta.th.classList.add(_this2.options.hasInfoClass);\n                    meta.th.title = meta.info;\n                }\n\n                if (meta.sortable) {\n                    meta.th.classList.add(_this2.options.sortableClass);\n                    meta.thContainer.addEventListener('click', _this2.handleSortableHeadClick.bind(_this2, meta));\n                }\n\n                if (meta.filterable && _this2.options.columnFiltering) {\n                    meta.th.classList.add(_this2.options.filterableClass);\n\n                    meta.th.appendChild(meta.filter.container);\n                }\n\n                _this2.theadRow.appendChild(meta.th);\n            });\n\n            if (this.actions.length > 0) {\n                this.theadRow.appendChild(document.createElement('th'));\n            }\n\n            this.trigger('renderHead:post');\n        }\n\n        /**\n         * Render table body\n         *\n         * @fires JSONMetaTable#renderBody:pre\n         * @fires JSONMetaTable#renderBody:post\n         */\n\n    }, {\n        key: 'renderBody',\n        value: function renderBody() {\n            var _this3 = this;\n\n            this.trigger('renderBody:pre');\n\n            this.tbody.innerHTML = '';\n\n            this.data.map(function (row) {\n                row.tr = document.createElement('tr');\n                row.cells = {};\n                row.renderers = {};\n\n                if (row.trClassName) {\n                    row.tr.className = row.trClassName;\n                }\n\n                _this3.metadata.map(function (meta) {\n                    var displayValue = row.displayValues && row.displayValues[meta.name] ? row.displayValues[meta.name] : undefined;\n\n                    row.cells[meta.name] = document.createElement('td');\n                    row.renderers[meta.name] = new meta.renderer(_this3, meta, row, row.values[meta.name], displayValue);\n\n                    row.renderers[meta.name].on('setValue:post', _this3.handleRendererPostSetValue.bind(_this3, row, meta, row.renderers[meta.name]));\n\n                    row.cells[meta.name].appendChild(row.renderers[meta.name].container);\n                    row.tr.appendChild(row.cells[meta.name]);\n                });\n\n                if (_this3.actions.length > 0) {\n                    (function () {\n                        var actionsContainer = document.createElement('div');\n\n                        row.actions = {};\n                        row.cells.actions = document.createElement('td');\n\n                        actionsContainer.className = _this3.options.actionsContainerClass;\n\n                        _this3.actions.map(function (action) {\n                            row.actions[action.name] = new _this3.actionTypes[action.type](row, action);\n                            actionsContainer.appendChild(row.actions[action.name].button);\n                        });\n\n                        row.cells.actions.appendChild(actionsContainer);\n                        row.tr.appendChild(row.cells.actions);\n                    })();\n                }\n\n                _this3.tbody.appendChild(row.tr);\n            });\n\n            this.trigger('renderBody:post');\n        }\n\n        /**\n         * Render table\n         *\n         * @fires JSONMetaTable#render:pre\n         * @fires JSONMetaTable#render:post\n         */\n\n    }, {\n        key: 'render',\n        value: function render() {\n            this.trigger('render:pre');\n\n            if (!this.table) {\n                this.table = document.createElement('table');\n                this.thead = document.createElement('thead');\n                this.tbody = document.createElement('tbody');\n                this.theadRow = document.createElement('tr');\n\n                this.table.className = this.options.tableClass;\n\n                this.thead.appendChild(this.theadRow);\n                this.table.appendChild(this.thead);\n                this.table.appendChild(this.tbody);\n                this.container.appendChild(this.table);\n            }\n\n            this.renderHead();\n            this.renderBody();\n\n            this.trigger('render:post');\n        }\n\n        // endregion Renderers\n\n        // region Controls\n\n        /**\n         * Set table metadata\n         *\n         * @param {Object} metadata\n         * @fires JSONMetaTable#setMetadata:pre\n         * @fires JSONMetaTable#setMetadata:post\n         */\n\n    }, {\n        key: 'setMetadata',\n        value: function setMetadata(metadata) {\n            var _this4 = this;\n\n            this.trigger('setMetadata:pre', {\n                newMetadata: metadata\n            });\n\n            this.metadata = metadata;\n\n            this.metadata.map(function (meta, index) {\n                _this4.metadata[index] = Object.assign({}, METADATA, meta);\n\n                if (!_this4.metadata[index].renderer) {\n                    _this4.metadata[index].renderer = _this4.renderers[_this4.metadata[index].type] ? _this4.renderers[_this4.metadata[index].type] : _this4.renderers.text;\n                }\n\n                if (_this4.options.columnFiltering && _this4.metadata[index].filterable && !_this4.metadata[index].filter) {\n                    _this4.metadata[index].filter = _this4.filters[_this4.metadata[index].type] ? new _this4.filters[_this4.metadata[index].type](meta, _this4.filterOptions) : new _this4.filters.text(meta, _this4.filterOptions);\n\n                    if (_this4.filtering[meta.name]) {\n                        _this4.metadata[index].filter.setValue(_this4.filtering[meta.name]);\n                    }\n\n                    _this4.metadata[index].filter.on('setValue:post', _this4.handleFilterPostSetValue.bind(_this4, _this4.metadata[index]));\n                }\n            });\n\n            if (this.table) {\n                this.render();\n            }\n\n            this.trigger('setMetadata:post');\n        }\n\n        /**\n         * Set table data\n         *\n         * @param {Object} data\n         * @fires JSONMetaTable#setData:pre\n         * @fires JSONMetaTable#setData:post\n         */\n\n    }, {\n        key: 'setData',\n        value: function setData(data) {\n            this.trigger('setData:pre', {\n                newData: data\n            });\n\n            this.completeData = data;\n            this.data = data;\n\n            if (!this.table) {\n                this.render();\n            } else {\n                this.renderBody();\n            }\n\n            this.trigger('setData:post');\n        }\n\n        /**\n         * Sort data by column\n         *\n         * @param {String} column    Column to sort by\n         * @param {String} direction Direction to sort by\n         * @fires JSONMetaTable#sortBy:pre\n         * @fires JSONMetaTable#sortBy:post\n         */\n\n    }, {\n        key: 'sortBy',\n        value: function sortBy(column) {\n            var direction = arguments.length <= 1 || arguments[1] === undefined ? 'asc' : arguments[1];\n\n            this.trigger('sortBy:pre', {\n                column: column,\n                direction: direction\n            });\n\n            var newData = this.data.slice(),\n                order = direction === 'asc' ? 1 : -1;\n\n            newData.sort(function (a, b) {\n                var result = a.values[column] < b.values[column] ? -1 : a.values[column] > b.values[column] ? 1 : 0;\n\n                return result * order;\n            });\n\n            this.sorting = {\n                column: column,\n                direction: direction\n            };\n\n            this.data = newData;\n            this.renderBody();\n\n            var _iteratorNormalCompletion = true;\n            var _didIteratorError = false;\n            var _iteratorError = undefined;\n\n            try {\n                for (var _iterator = this.metadata[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n                    var meta = _step.value;\n\n                    meta.th.classList.remove(this.options.sortAscClass, this.options.sortDescClass);\n\n                    if (meta.name === column) {\n                        if (direction === 'asc') {\n                            meta.th.classList.add(this.options.sortAscClass);\n                        } else {\n                            meta.th.classList.add(this.options.sortDescClass);\n                        }\n                    }\n                }\n            } catch (err) {\n                _didIteratorError = true;\n                _iteratorError = err;\n            } finally {\n                try {\n                    if (!_iteratorNormalCompletion && _iterator.return) {\n                        _iterator.return();\n                    }\n                } finally {\n                    if (_didIteratorError) {\n                        throw _iteratorError;\n                    }\n                }\n            }\n\n            this.trigger('sortBy:post', {\n                column: column,\n                direction: direction\n            });\n        }\n\n        /**\n         * Filter data by column filter values\n         *\n         * @param {Object} values Associative object of column => value pairs\n         * @fires JSONMetaTable#filterByColumns:pre\n         * @fires JSONMetaTable#filterByColumns:post\n         */\n\n    }, {\n        key: 'filterByColumns',\n        value: function filterByColumns(values) {\n            var _this5 = this;\n\n            var columns = Object.keys(values);\n\n            var _iteratorNormalCompletion2 = true;\n            var _didIteratorError2 = false;\n            var _iteratorError2 = undefined;\n\n            try {\n                for (var _iterator2 = columns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n                    var column = _step2.value;\n\n                    if (new String(values[column]) === '') {\n                        delete values[column];\n                    }\n                }\n            } catch (err) {\n                _didIteratorError2 = true;\n                _iteratorError2 = err;\n            } finally {\n                try {\n                    if (!_iteratorNormalCompletion2 && _iterator2.return) {\n                        _iterator2.return();\n                    }\n                } finally {\n                    if (_didIteratorError2) {\n                        throw _iteratorError2;\n                    }\n                }\n            }\n\n            this.trigger('filterByColumns:pre', {\n                values: values\n            });\n\n            columns = Object.keys(values);\n\n            this.filtering = values;\n\n            this.data = this.completeData.filter(function (row) {\n                var matches = 0;\n\n                var _iteratorNormalCompletion3 = true;\n                var _didIteratorError3 = false;\n                var _iteratorError3 = undefined;\n\n                try {\n                    for (var _iterator3 = columns[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n                        var column = _step3.value;\n\n                        var textSearch = new String(_this5.filtering[column]).toLowerCase(),\n                            meta = _this5.getMetaByColumnName(column);\n\n                        if (textSearch === '') {\n                            matches += 1;\n                            continue;\n                        }\n\n                        if (meta.options && row.values[column] === _this5.filtering[column]) {\n                            matches += 1;\n                        } else if (new String(row.values[column]).toLowerCase().indexOf(textSearch) >= 0) {\n                            matches += 1;\n                        }\n                    }\n                } catch (err) {\n                    _didIteratorError3 = true;\n                    _iteratorError3 = err;\n                } finally {\n                    try {\n                        if (!_iteratorNormalCompletion3 && _iterator3.return) {\n                            _iterator3.return();\n                        }\n                    } finally {\n                        if (_didIteratorError3) {\n                            throw _iteratorError3;\n                        }\n                    }\n                }\n\n                return matches >= columns.length;\n            });\n\n            if (this.sorting.column) {\n                this.sortBy(this.sorting.column, this.sorting.direction);\n            } else {\n                this.renderBody();\n            }\n\n            this.trigger('filterByColumns:post', {\n                values: values\n            });\n        }\n\n        /**\n         * Filter data by column search terms\n         *\n         * @param column\n         * @param search\n         * @fires JSONMetaTable#filterBy:pre\n         * @fires JSONMetaTable#filterBy:post\n         */\n\n    }, {\n        key: 'filterBy',\n        value: function filterBy(column, search) {\n            this.trigger('filterBy:pre', {\n                column: column,\n                search: search\n            });\n\n            this.filtering[column] = search;\n\n            this.filterByColumns(this.filtering);\n\n            this.trigger('filterBy:post', {\n                column: column,\n                search: search\n            });\n        }\n\n        /**\n         * Filter data by general row search terms\n         *\n         * @param search\n         * @fires JSONMetaTable#filter:pre\n         * @fires JSONMetaTable#filter:post\n         */\n\n    }, {\n        key: 'filter',\n        value: function filter(search) {\n            var _this6 = this;\n\n            this.trigger('filter:pre', {\n                search: search\n            });\n\n            var textSearch = new String(search).toLowerCase();\n\n            this.data = this.completeData.filter(function (row) {\n                if (textSearch === '') {\n                    return true;\n                }\n\n                var isMatching = false;\n\n                var _iteratorNormalCompletion4 = true;\n                var _didIteratorError4 = false;\n                var _iteratorError4 = undefined;\n\n                try {\n                    var _loop = function _loop() {\n                        var meta = _step4.value;\n\n                        if (!meta.filterable) {\n                            return 'continue';\n                        }\n\n                        var isOptionMatching = false,\n                            isValueMatching = new String(row.values[meta.name]).toLowerCase().indexOf(textSearch) >= 0;\n\n                        if (meta.options) {\n                            isOptionMatching = meta.options.find(function (option) {\n                                return option.value === row.values[meta.name] && option.label.toLowerCase().indexOf(textSearch) >= 0;\n                            }) !== undefined;\n                        }\n\n                        if (isOptionMatching || isValueMatching) {\n                            isMatching = true;\n                            return 'break';\n                        }\n                    };\n\n                    _loop2: for (var _iterator4 = _this6.metadata[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n                        var _ret2 = _loop();\n\n                        switch (_ret2) {\n                            case 'continue':\n                                continue;\n\n                            case 'break':\n                                break _loop2;}\n                    }\n                } catch (err) {\n                    _didIteratorError4 = true;\n                    _iteratorError4 = err;\n                } finally {\n                    try {\n                        if (!_iteratorNormalCompletion4 && _iterator4.return) {\n                            _iterator4.return();\n                        }\n                    } finally {\n                        if (_didIteratorError4) {\n                            throw _iteratorError4;\n                        }\n                    }\n                }\n\n                return isMatching;\n            });\n\n            if (this.sorting.column) {\n                this.sortBy(this.sorting.column, this.sorting.direction);\n            } else {\n                this.renderBody();\n            }\n\n            this.trigger('filter:post', {\n                search: search\n            });\n        }\n\n        /**\n         * Delete row\n         *\n         * @param {*} row Row object or row id\n         * @fires JSONMetaTable#deleteRow:pre\n         * @fires JSONMetaTable#deleteRow:post\n         */\n\n    }, {\n        key: 'deleteRow',\n        value: function deleteRow(row) {\n            var id = row.id ? row.id : row;\n\n            this.trigger('deleteRow:pre', {\n                id: id\n            });\n\n            var data = this.completeData.filter(function (item) {\n                return item.id !== id;\n            });\n\n            this.setData(data);\n\n            this.trigger('deleteRow:post', {\n                id: id\n            });\n        }\n\n        // endregion Controls\n\n    }]);\n\n    return JSONMetaTable;\n}(_eventAbstractClass2.default);\n\nexports.default = JSONMetaTable;"]}