steal('can/util', "can/view",function (can) {
var doc = typeof document !== "undefined" ? document: null;
var selectsCommentNodes = doc && (function(){
return can.$(document.createComment('~')).length === 1;
})();
/**
* @property {Object} can.view.elements
* @parent can.view
*
* Provides helper methods for and information about the behavior
* of DOM elements.
*/
var elements = {
tagToContentPropMap: {
option: ( doc && "textContent" in document.createElement("option") ) ? "textContent" : "innerText",
textarea: 'value'
},
/**
* @property {Object.<String,(String|Boolean|function)>} can.view.elements.attrMap
* @parent can.view.elements
*
*
* A mapping of
* special attributes to their JS property. For example:
*
* "class" : "className"
*
* means get or set `element.className`. And:
*
* "checked" : true
*
* means set `element.checked = true`.
*
*
* If the attribute name is not found, it's assumed to use
* `element.getAttribute` and `element.setAttribute`.
*/