{"version":3,"sources":["class.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;UAArC,EAAC,GAAE,YAAqB;AAAE,qBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;;EAAlD,UAAQ,EAAhB,EAAC,4DAAoB,CAAA,OAAM,AAAC,6CAAkB,CACtC,CAAA,6DAAqB,sEAA2B,CAAA,6DAAqB,GAAK,EAAC,OAAM,4DAAmB,CAAC,AAD/D,CACgE;EAAtG,UAAQ,EADhB,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;EACtG,IAAE,EAFV,EAAC,+CAAoB,CAAA,OAAM,AAAC,gCAAkB,CACtC,CAAA,gDAAqB,yDAA2B,CAAA,gDAAqB,GAAK,EAAC,OAAM,+CAAmB,CAAC,AAD/D,CACgE;EAEtG,UAAQ,EAHhB,EAAC,2DAAoB,CAAA,OAAM,AAAC,yCAAkB,CACtC,CAAA,4DAAqB,qEAA2B,CAAA,4DAAqB,GAAK,EAAC,OAAM,2DAAmB,CAAC,AAD/D,CACgE;AAD9G,AAAI,EAAA,WAWG,SAAM,SAAO,CAEN,IAAG,AAAW,CAAG;AAC3B,KAAG,OAAO,EAAI,CAAA,IAAG,WAAW,CAAC;AAC/B,AAfsC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC;AAiB3B,aAAW,CAAX,UAAa,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;AAEA,IAAI,gBAAc,CAAE,OAAM;;AACxB,OAAI,SAAQ,AAAC,CAAC,OAAM,CAAC,CAAG;AACtB,YAAM,iBAAiB,AAAC,EAAC,SAAC,MAAK,CAAM;AAAE,wBAAgB,AAAC,CAAC,MAAK,IAAI,CAAG,CAAA,MAAK,aAAa,CAAC,CAAC;MAAE,EAAC,CAAC;AAC7F,YAAM,mBAAmB,AAAC,EAAC,SAAC,MAAK,CAAM;AAAE,wBAAgB,AAAC,CAAC,MAAK,IAAI,CAAG,CAAA,MAAK,aAAa,CAAC,CAAC;MAAE,EAAC,CAAC;AAC/F,YAAM,mBAAmB,AAAC,EAAC,SAAC,MAAK,CAAM;AACrC,WAAI,MAAK,cAAc,CAAG;AACxB,YAAE,YAAY,AAAC,CAAC,WAAU,CAAG,CAAA,MAAK,IAAI,CAAC,CAAC;QAC1C;AAAA,MACF,EAAC,CAAC;IACJ;AAAA,EACF;KAnCmF;AAArF,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.js","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"]}