{"version":3,"sources":["ruler.js"],"names":[],"mappings":"AAAA;AAAA,KAAO,EAAC,OAAM;AAAG,eAAa,CAAC,KAAO,4BAA0B,CAAC;AACjE,KAAO,EAAC,UAAS,CAAC,KAAO,+BAA6B,CAAC;AACvD,KAAO,EAAC,SAAQ,CAAC,KAAO,wCAAsC,CAAC;AAE/D,KAAO,MAAM,UAAQ;AAOnB,YAAU,CAAE,IAAG,CAAG,CAAA,GAAE,CAAG,CAAA,KAAI,CAAG,CAAA,MAAK,CAAG;AACpC,OAAG,KAAK,EAAI,KAAG,CAAC;AAChB,OAAG,MAAM,EAAI,CAAA,IAAG,EAAI,MAAI,CAAC;AACzB,OAAG,IAAI,EAAI,IAAE,CAAC;AACd,OAAG,OAAO,EAAI,CAAA,GAAE,EAAI,OAAK,CAAC;AAC1B,OAAG,OAAO,EAAI,OAAK,CAAC;AACpB,OAAG,MAAM,EAAI,MAAI,CAAC;EACpB;AAAA,AACF;AAAA,AAEA,KAAO,MAAM,MAAI;AAEf,YAAU,CAAE,UAAS,AAAY,CAAG;AAvBtC,SAAK,cAAc,YAuBO,WAAS,CAvBG,CAAA;AAwBlC,OAAG,WAAW,EAAI,WAAS,CAAC;EAC9B;AAAA,AAEA,QAAM,CAAE,EAAC,AAAU;AA3BrB,SAAK,cAAc,IA2BN,UAAQ,CA3BiB,CAAA;AA4BlC,AAAI,MAAA,CAAA,QAAO,EAAI,CAAA,IAAG,WAAW,sBAAsB,AAAC,CAAC,EAAC,WAAW,CAAC,CAAC;AA5BvE,SAAO,CAAA,MAAK,WAAW,AAAC,CAAC,CA+Bd,cAAa,QAAQ,AAAC,CAAC,GAAI,UAAQ,AAAC,CAAC,QAAO,KAAK,CAAG,CAAA,QAAO,IAAI,CAAG,CAAA,QAAO,MAAM,CAAG,CAAA,QAAO,OAAO,CAAC,CAAC,CA/BlE,CAA3C,CAAA,MAAK,YAAuB,AA2BH,CAAA,OAAM,CAAE,UAAQ,CAAC,AA3BK,CAAgB,CAAA;EAgC7D;AACF;AAAA,AAjCA,KAAK,eAAe,AAAC,qBACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAsBA,UAAS,GAtBc;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,uCACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YA0Bb,SAAQ,GA1B4B;EAAC,CAAC,CAAC,CAAC;AAiCrD","file":"angular2/src/services/ruler.es6","sourcesContent":["import {Promise, PromiseWrapper} from 'angular2/src/facade/async';\nimport {DomAdapter} from 'angular2/src/dom/dom_adapter';\nimport {NgElement} from 'angular2/src/core/compiler/ng_element';\n\nexport class Rectangle {\n  left;\n  right;\n  top;\n  bottom;\n  height;\n  width;\n  constructor(left, top, width, height) {\n    this.left = left;\n    this.right = left + width;\n    this.top = top;\n    this.bottom = top + height;\n    this.height = height;\n    this.width = width;\n  }\n}\n\nexport class Ruler {\n  domAdapter: DomAdapter;\n  constructor(domAdapter: DomAdapter) {\n    this.domAdapter = domAdapter;\n  }\n\n  measure(el:NgElement): Promise<Rectangle> {\n    var clntRect = this.domAdapter.getBoundingClientRect(el.domElement);\n\n    //even if getBoundingClientRect is synchronous we use async API in preparation for further changes\n    return PromiseWrapper.resolve(new Rectangle(clntRect.left, clntRect.top, clntRect.width, clntRect.height));\n  }\n}\n"]}