{"version":3,"sources":["ruler.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;WAArC,EAAC,GAAE,YAAqB;AAAE,sBAAwB;IAAE,AAA9B,CAAC;OAAvB,EAAC,GAAE,YAAqB;AAAE,kBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;SAA1D,EAAC,yCAAoB,CAAA,OAAM,AAAC,6BAAkB,CACtC,CAAA,0CAAqB,mDAA2B,CAAA,0CAAqB,GAAK,EAAC,OAAM,yCAAmB,CAAC,AAD/D,CACgE;AADtG,UAAM;AAAG,iBAAa;EACtB,WAAS,EADjB,EAAC,+CAAoB,CAAA,OAAM,AAAC,gCAAkB,CACtC,CAAA,gDAAqB,yDAA2B,CAAA,gDAAqB,GAAK,EAAC,OAAM,+CAAmB,CAAC,AAD/D,CACgE;EACtG,UAAQ,EAFhB,EAAC,2DAAoB,CAAA,OAAM,AAAC,yCAAkB,CACtC,CAAA,4DAAqB,qEAA2B,CAAA,4DAAqB,GAAK,EAAC,OAAM,2DAAmB,CAAC,AAD/D,CACgE;AAD9G,AAAI,EAAA,YAIG,SAAM,UAAQ,CAOP,IAAG,CAAG,CAAA,GAAE,CAAG,CAAA,KAAI,CAAG,CAAA,MAAK,CAAG;AACpC,KAAG,KAAK,EAAI,KAAG,CAAC;AAChB,KAAG,MAAM,EAAI,CAAA,IAAG,EAAI,MAAI,CAAC;AACzB,KAAG,IAAI,EAAI,IAAE,CAAC;AACd,KAAG,OAAO,EAAI,CAAA,GAAE,EAAI,OAAK,CAAC;AAC1B,KAAG,OAAO,EAAI,OAAK,CAAC;AACpB,KAAG,MAAM,EAAI,MAAI,CAAC;AACpB,AAlBsC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC,mBAAwD;AAArF,AAAI,EAAA,QAqBG,SAAM,MAAI,CAEH,UAAS,AAAY,CAAG;AAClC,KAAG,WAAW,EAAI,WAAS,CAAC;AAC9B,AAzBsC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC,SA2B3B,OAAM,CAAN,UAAQ,EAAC,AAAU,CAAuB;AACxC,AAAI,MAAA,CAAA,QAAO,EAAI,CAAA,IAAG,WAAW,sBAAsB,AAAC,CAAC,EAAC,WAAW,CAAC,CAAC;AAGnE,SAAO,CAAA,cAAa,QAAQ,AAAC,CAAC,GAAI,UAAQ,AAAC,CAAC,QAAO,KAAK,CAAG,CAAA,QAAO,IAAI,CAAG,CAAA,QAAO,MAAM,CAAG,CAAA,QAAO,OAAO,CAAC,CAAC,CAAC;EAC5G,MAhCmF;AAArF,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.js","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"]}