Sha256: d882ca2a5ae32b10b4e5e198f6a33efdc989dcbeda67c0862ec9cc1b92e26768

Contents?: true

Size: 1.62 KB

Versions: 7

Compression:

Stored size: 1.62 KB

Contents

/*
---
 
script: BoxShadow.js
 
description: Set box shadow in an accessible way
 
license: Public domain (http://unlicense.org).
 
requires:
- Core/Element
 
provides: [Element.Properties.boxShadow]
 
...
*/
(function() {
  if (Browser.safari)            var property = 'webkitBoxShadow';
  else if (Browser.firefox)      var property = 'MozBoxShadow'
  else                           var property = 'boxShadow';
  if (property) {
    var dummy = document.createElement('div');
    var cc = property.hyphenate();
    if (cc.charAt(0) == 'w') cc = '-' + cc;
    dummy.style.cssText = cc + ': 1px 1px 1px #ccc'
    Browser.Features.boxShadow = !!dummy.style[property];
    delete dummy;
  }  
  Element.Properties.boxShadow = {
    set: function(value) {
      if (!property) return;
      switch ($type(value)) {
        case "number": 
          value = {blur: value};
          break;
        case "array":
          value = {
            color: value[0],
            blur: value[1],
            x: value[2],
            y: value[3]
          }
          break;
        case "boolean":
          if (value) value = {blur: 10};
          else value = false
        case "object":
         if (value.isColor) value = {color: value}
      }
      if (!value) {
        if (!this.retrieve('shadow:value')) return;
        this.eliminate('shadow:value');
        this.style[property] = 'none';
        return;
      }
      this.store('shadow:value', value)
      var color = value.color ? value.color.toString() : 'transparent'
      this.style[property] = (value.x || 0) + 'px ' + (value.y || 0) + 'px ' + (value.blur || 0) + 'px ' + color;
    }
  }
})();

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lsd_rails-0.1.6 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js
lsd_rails-0.1.5 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js
lsd_rails-0.1.4 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js
lsd_rails-0.1.3 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js
lsd_rails-0.1.2 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js
lsd_rails-0.1.1 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js
lsd_rails-0.1 Packages/mootools-ext/Source/Element/Properties/BoxShadow.js