{"version":3,"sources":["class.js"],"names":[],"mappings":"AAAA;AAAA,KAAO,EAAC,SAAQ,CAAC,KAAO,4CAA0C,CAAC;AACnE,KAAO,EAAC,SAAQ,CAAC,KAAO,2BAAyB,CAAC;AAClD,KAAO,EAAC,GAAE,CAAC,KAAO,+BAA6B,CAAC;AAChD,KAAO,EAAC,SAAQ,CAAC,KAAO,wCAAsC,CAAC;AAQ/D,KAAO,MAAM,SAAO;AAElB,YAAU,CAAE,IAAG,AAAW,CAAG;AAb/B,SAAK,cAAc,MAaC,UAAQ,CAbU,CAAA;AAclC,OAAG,OAAO,EAAI,CAAA,IAAG,WAAW,CAAC;EAC/B;AAAA,AAEA,aAAW,CAAE,SAAQ,CAAG,CAAA,OAAM,CAAG;AAC/B,OAAI,OAAM,CAAG;AACX,QAAE,SAAS,AAAC,CAAC,IAAG,OAAO,CAAG,UAAQ,CAAC,CAAC;IACtC,KAAO;AACL,QAAE,YAAY,AAAC,CAAC,IAAG,OAAO,CAAG,UAAQ,CAAC,CAAC;IACzC;AAAA,EACF;AAAA,AAEA,IAAI,gBAAc,CAAE,OAAM,CAAG;AAC3B,OAAI,SAAQ,AAAC,CAAC,OAAM,CAAC,CAAG;AACtB,YAAM,iBAAiB,AAAC,CAAC,CAAC,MAAK,IAAM;AAAE,WAAG,aAAa,AAAC,CAAC,MAAK,IAAI,CAAG,CAAA,MAAK,aAAa,CAAC,CAAC;MAAE,CAAC,CAAC;AAC7F,YAAM,mBAAmB,AAAC,CAAC,CAAC,MAAK,IAAM;AAAE,WAAG,aAAa,AAAC,CAAC,MAAK,IAAI,CAAG,CAAA,MAAK,aAAa,CAAC,CAAC;MAAE,CAAC,CAAC;AAC/F,YAAM,mBAAmB,AAAC,CAAC,CAAC,MAAK,IAAM;AACrC,WAAI,MAAK,cAAc,CAAG;AACxB,YAAE,YAAY,AAAC,CAAC,IAAG,OAAO,CAAG,CAAA,MAAK,IAAI,CAAC,CAAC;QAC1C;AAAA,MACF,CAAC,CAAC;IACJ;AAAA,EACF;AAAA,AACF;AAAA,AApCA,KAAK,eAAe,AAAC,yBACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,cAIzB,UAAQ,AAAC,CAAC;AACT,aAAO,CAAG,UAAQ;AAClB,eAAS,CAAG,EACV,iBAAgB,CAAG,qBAAmB,CACxC;AAAA,IACF,CAAC,EATgD;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,wBACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAYN,SAAQ,GAZqB;EAAC,CAAC,CAAC,CAAC;AAoCrD","file":"angular2/src/directives/class.es6","sourcesContent":["import {Decorator} from 'angular2/src/core/annotations/annotations';\nimport {isPresent} from 'angular2/src/facade/lang';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\nimport {NgElement} from 'angular2/src/core/compiler/ng_element';\n\n@Decorator({\n  selector: '[class]',\n  properties: {\n    'iterableChanges': 'class | keyValDiff'\n  }\n})\nexport class CSSClass {\n  _domEl;\n  constructor(ngEl: NgElement) {\n    this._domEl = ngEl.domElement;\n  }\n\n  _toggleClass(className, enabled) {\n    if (enabled) {\n      DOM.addClass(this._domEl, className);\n    } else {\n      DOM.removeClass(this._domEl, className);\n    }\n  }\n\n  set iterableChanges(changes) {\n    if (isPresent(changes)) {\n      changes.forEachAddedItem((record) => { this._toggleClass(record.key, record.currentValue); });\n      changes.forEachChangedItem((record) => { this._toggleClass(record.key, record.currentValue); });\n      changes.forEachRemovedItem((record) => {\n        if (record.previousValue) {\n          DOM.removeClass(this._domEl, record.key);\n        }\n      });\n    }\n  }\n}\n"]}