{"version":3,"sources":["angular-scroll-rtl.js"],"names":[],"mappings":";;AAAA,CAAC,YAAM;AACH;;AAEA,QAAM,MAAM,QAAQ,MAAR,CAAe,WAAf,EAA4B,EAA5B,CAAZ;;AAEA,QAAI,GAAJ,CAAQ,CAAC,WAAD,EAAc,UAAC,SAAD,EAAe;;AAEjC,iBAAS,0BAAT,GAAsC;AAClC,gBAAM,OAAO,UAAU,IAAV,CAAe,MAAf,CAAb;AACA,gBAAM,UAAU,QAAQ,OAAR,CAAgB,6HAAhB,CAAhB;AACA,iBAAK,MAAL,CAAY,OAAZ;AACA,gBAAI,OAAO,SAAX;AACA,gBAAI,QAAQ,CAAR,EAAW,UAAX,GAAwB,CAA5B,EAA+B;AAC3B,uBAAO,SAAP;AACH,aAFD,MAEO;AACH,wBAAQ,CAAR,EAAW,UAAX,GAAwB,CAAxB;AACA,oBAAI,QAAQ,CAAR,EAAW,UAAX,KAA0B,CAA9B,EAAiC;AAC7B,2BAAO,UAAP;AACH;AACJ;AACD,oBAAQ,MAAR;AACA,mBAAO,IAAP;AACH;;AAED,iBAAS,YAAT,CAAsB,OAAtB,EAA+B,KAA/B,EAAsC;AAClC,gBAAI,UAAU,SAAd,EAAyB;AACrB,oBAAI,OAAO,gBAAX,EAA6B;AACzB,2BAAO,OAAO,gBAAP,CAAwB,OAAxB,EAAiC,IAAjC,EAAuC,SAA9C;AACH,iBAFD,MAEO,IAAI,QAAQ,YAAZ,EAA0B;AAC7B,2BAAO,QAAQ,YAAR,CAAqB,SAA5B;AACH;AACJ,aAND,MAMO;AACH,wBAAQ,KAAR,CAAc,SAAd,GAA0B,KAA1B;AACH;AACJ;;AAED,iBAAS,aAAT,CAAuB,OAAvB,EAAgC;;AAE5B,gBAAM,cAAc;AAChB,yBAAS;AACL,yBAAK;AAAA,+BAAM,QAAQ,UAAd;AAAA,qBADA;AAEL,yBAAK;AAAA,+BAAK,QAAQ,UAAR,GAAqB,CAA1B;AAAA;AAFA,iBADO;AAKhB,yBAAS;AACL,yBAAK;AAAA,+BAAM,QAAQ,WAAR,GAAsB,QAAQ,WAA9B,GAA4C,QAAQ,UAA1D;AAAA,qBADA;AAEL,yBAAK;AAAA,+BAAK,QAAQ,UAAR,GAAqB,QAAQ,WAAR,GAAsB,QAAQ,WAA9B,GAA4C,CAAtE;AAAA;AAFA,iBALO;AAShB,0BAAU;AACN,yBAAK;AAAA,+BAAM,CAAC,QAAQ,UAAf;AAAA,qBADC;AAEN,yBAAK;AAAA,+BAAK,QAAQ,UAAR,GAAqB,CAAC,CAA3B;AAAA;AAFC;AATM,aAApB;;AAeA,gBAAI,aAAa,OAAb,MAA0B,KAA9B,EAAqC;AACjC,uBAAO,YAAY,uBAAZ,CAAP;AACH,aAFD,MAEO;AACH,uBAAO,YAAY,OAAnB;AACH;AACJ;;AAED,YAAM,0BAA0B,4BAAhC;;AAEA,gBAAQ,OAAR,CAAgB,SAAhB,CAA0B,UAA1B,GAAuC,UAAS,KAAT,EAAgB;AACnD,gBAAM,IAAI,KAAK,CAAL,CAAV;AACA,gBAAI,UAAU,SAAd,EAAyB;;AAErB,qBAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,KAAK,MAAzB,EAAiC,EAAE,CAAnC,EAAsC;AAClC,kCAAc,KAAK,CAAL,CAAd,EAAuB,GAAvB,CAA2B,KAA3B;AACH;AACJ,aALD,MAKO;;AAEH,uBAAO,cAAc,KAAK,CAAL,CAAd,EAAuB,GAAvB,EAAP;AACH;AACJ,SAXD;;AAaA,gBAAQ,OAAR,CAAgB,SAAhB,CAA0B,SAA1B,GAAsC,UAAS,KAAT,EAAgB;AAClD,mBAAO,aAAa,KAAK,CAAL,CAAb,EAAsB,KAAtB,CAAP;AACH,SAFD;AAIH,KA1EO,CAAR;AA4EH,CAjFD","file":"angular-scroll-rtl.js","sourcesContent":["(() => {\n 'use strict';\n\n const mod = angular.module('td.scroll', []);\n\n mod.run(['$document', ($document) => {\n\n function getRTLHorizontalScrollType() {\n const body = $document.find('body');\n const tmpElem = angular.element('<div dir=\"rtl\" style=\"font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll\">A</div>');\n body.append(tmpElem);\n let type = 'default';\n if (tmpElem[0].scrollLeft > 0) {\n type = 'reverse';\n } else {\n tmpElem[0].scrollLeft = 1;\n if (tmpElem[0].scrollLeft === 0) {\n type = 'negative';\n }\n }\n tmpElem.remove();\n return type;\n }\n\n function getDirection(element, value) {\n if (value === undefined) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(element, null).direction;\n } else if (element.currentStyle) {\n return element.currentStyle.direction;\n }\n } else {\n element.style.direction = value;\n }\n };\n\n function getScrollType(element) {\n\n const scrollTypes = {\n default: {\n get: () => element.scrollLeft,\n set: v => element.scrollLeft = v \n },\n reverse: {\n get: () => element.scrollWidth - element.clientWidth - element.scrollLeft,\n set: v => element.scrollLeft = element.scrollWidth - element.clientWidth - v\n }, \n negative: {\n get: () => -element.scrollLeft,\n set: v => element.scrollLeft = -v\n }\n };\n\n if (getDirection(element) === 'rtl') {\n return scrollTypes[rtlHorizontalScrollType];\n } else {\n return scrollTypes.default;\n }\n }\n\n const rtlHorizontalScrollType = getRTLHorizontalScrollType();\n\n angular.element.prototype.scrollLeft = function(value) {\n const e = this[0];\n if (value !== undefined) {\n // set:\n for (let i = 0; i < this.length; ++i) {\n getScrollType(this[i]).set(value);\n }\n } else {\n // get:\n return getScrollType(this[0]).get();\n }\n };\n \n angular.element.prototype.direction = function(value) {\n return getDirection(this[0], value);\n };\n\n }]);\n\n})();"],"sourceRoot":"/source/"}