tfcconnection-zola/static/js/cljs-runtime/goog.style.transition.js

54 lines
2.1 KiB
JavaScript

goog.provide("goog.style.transition");
goog.provide("goog.style.transition.Css3Property");
goog.require("goog.asserts");
goog.require("goog.dom");
goog.require("goog.dom.TagName");
goog.require("goog.dom.safe");
goog.require("goog.dom.vendor");
goog.require("goog.functions");
goog.require("goog.html.SafeHtml");
goog.require("goog.style");
goog.require("goog.userAgent");
goog.style.transition.Css3Property;
goog.style.transition.set = function(element, properties) {
if (!Array.isArray(properties)) {
properties = [properties];
}
goog.asserts.assert(properties.length > 0, "At least one Css3Property should be specified.");
var values = properties.map(function(p) {
if (typeof p === "string") {
return p;
} else {
goog.asserts.assertObject(p, "Expected css3 property to be an object.");
var propString = p.property + " " + p.duration + "s " + p.timing + " " + p.delay + "s";
goog.asserts.assert(p.property && typeof p.duration === "number" && p.timing && typeof p.delay === "number", "Unexpected css3 property value: %s", propString);
return propString;
}
});
goog.style.transition.setPropertyValue_(element, values.join(","));
};
goog.style.transition.removeAll = function(element) {
goog.style.transition.setPropertyValue_(element, "");
};
goog.style.transition.isSupported = goog.functions.cacheReturnValue(function() {
if (goog.userAgent.IE) {
return true;
}
var el = goog.dom.createElement(goog.dom.TagName.DIV);
var transition = "opacity 1s linear";
var vendorPrefix = goog.dom.vendor.getVendorPrefix();
var style = {"transition":transition};
if (vendorPrefix) {
style[vendorPrefix + "-transition"] = transition;
}
goog.dom.safe.setInnerHtml(el, goog.html.SafeHtml.create("div", {"style":style}));
var testElement = el.firstChild;
goog.asserts.assert(testElement.nodeType == Node.ELEMENT_NODE);
return goog.style.getStyle(testElement, "transition") != "";
});
goog.style.transition.setPropertyValue_ = function(element, transitionValue) {
goog.style.setStyle(element, "transition", transitionValue);
};
//# sourceMappingURL=goog.style.transition.js.map