--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/shim-plugin/shim-plugin.js Mon Mar 10 15:19:48 2014 +0100
@@ -0,0 +1,106 @@
+YUI.add('shim-plugin', function (Y, NAME) {
+
+ /**
+ * Provides shimming support for Node via a Plugin.
+ * This fixes SELECT bleedthrough for IE6 & Mac scrollbars
+ * @module shim-plugin
+ */
+
+ /**
+ * Node plugin which can be used to add shim support.
+ *
+ * @class Plugin.Shim
+ * @param {Object} User configuration object
+ */
+ function Shim(config) {
+ this.init(config);
+ }
+
+ /**
+ * Default class used to mark the shim element
+ *
+ * @property CLASS_NAME
+ * @type String
+ * @static
+ * @default "yui-node-shim"
+ */
+ // TODO: use ClassNameManager
+ Shim.CLASS_NAME = 'yui-node-shim';
+
+ /**
+ * Default markup template used to generate the shim element.
+ *
+ * @property TEMPLATE
+ * @type String
+ * @static
+ */
+ Shim.TEMPLATE = '<iframe class="' + Shim.CLASS_NAME +
+ '" frameborder="0" title="Node Stacking Shim"' +
+ 'src="javascript:false" tabindex="-1" role="presentation"' +
+ 'style="position:absolute; z-index:-1;"></iframe>';
+
+ Shim.prototype = {
+ init: function(config) {
+ this._host = config.host;
+ this.initEvents();
+ this.insert();
+ this.sync();
+ },
+
+ initEvents: function() {
+ this._resizeHandle = this._host.on('resize', this.sync, this);
+ },
+
+ getShim: function() {
+ return this._shim || (
+ this._shim = Y.Node.create(
+ Shim.TEMPLATE,
+ this._host.get('ownerDocument')
+ )
+ );
+ },
+
+ insert: function() {
+ var node = this._host;
+ this._shim = node.insertBefore( this.getShim(),
+ node.get('firstChild'));
+ },
+
+ /**
+ * Updates the size of the shim to fill its container
+ * @method sync
+ */
+ sync: function() {
+ var shim = this._shim,
+ node = this._host;
+
+ if (shim) {
+ shim.setAttrs({
+ width: node.getStyle('width'),
+ height: node.getStyle('height')
+ });
+ }
+ },
+
+ /**
+ * Removes the shim and destroys the plugin
+ * @method destroy
+ */
+ destroy: function() {
+ var shim = this._shim;
+ if (shim) {
+ shim.remove(true);
+ }
+
+ this._resizeHandle.detach();
+ }
+ };
+
+ Shim.NAME = 'Shim';
+ Shim.NS = 'shim';
+
+ Y.namespace('Plugin');
+ Y.Plugin.Shim = Shim;
+
+
+}, '@VERSION@', {"requires": ["node-style", "node-pluginhost"]});