This week I focused my efforts on the CSS Object Model. Initially, YUI’s StyleSheet module seemed promising (I even managed to take the Y out of it), but unfortunately it solves cross-browser issues by bringing everything down to IE’s level. While their solution has negligible effects in certain situations, my project is decidedly not one of those situations. I surveyed a large number of CSSOM modules and nothing accomplishes what I’m looking for. YUI and Google Closure (which is licensed under Apache 2, sadly) come closest.
I’ve spent the majority of the week writing my own implementation (and borrowing from YUI where applicable). I’ve managed to simulate the proper data structures in IE and am now working on writing the methods and smoothing out the bumps. The end product will be a small, powerful library that will handle most of the heavy lifting in the plugin.
This week will be filled with more CSSOM work. Hopefully I’ll be wrapping it up and shifting my focus to the UI by this time next week.