ember-material-icons
Version:
Google Material icons for your ember-cli app
75 lines • 4.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/*
* @method normalizeProperty
* @param element {HTMLElement}
* @param slotName {String}
* @returns {Object} { name, type }
*/
function normalizeProperty(element, slotName) {
let type, normalized;
if (slotName in element) {
normalized = slotName;
type = 'prop';
}
else {
let lower = slotName.toLowerCase();
if (lower in element) {
type = 'prop';
normalized = lower;
}
else {
type = 'attr';
normalized = slotName;
}
}
if (type === 'prop' &&
(normalized.toLowerCase() === 'style' ||
preferAttr(element.tagName, normalized))) {
type = 'attr';
}
return { normalized, type };
}
exports.normalizeProperty = normalizeProperty;
function normalizePropertyValue(value) {
if (value === '') {
return true;
}
return value;
}
exports.normalizePropertyValue = normalizePropertyValue;
// properties that MUST be set as attributes, due to:
// * browser bug
// * strange spec outlier
const ATTR_OVERRIDES = {
// phantomjs < 2.0 lets you set it as a prop but won't reflect it
// back to the attribute. button.getAttribute('type') === null
BUTTON: { type: true, form: true },
INPUT: {
// Some version of IE (like IE9) actually throw an exception
// if you set input.type = 'something-unknown'
type: true,
form: true,
// Chrome 46.0.2464.0: 'autocorrect' in document.createElement('input') === false
// Safari 8.0.7: 'autocorrect' in document.createElement('input') === false
// Mobile Safari (iOS 8.4 simulator): 'autocorrect' in document.createElement('input') === true
autocorrect: true,
// Chrome 54.0.2840.98: 'list' in document.createElement('input') === true
// Safari 9.1.3: 'list' in document.createElement('input') === false
list: true
},
// element.form is actually a legitimate readOnly property, that is to be
// mutated, but must be mutated by setAttribute...
SELECT: { form: true },
OPTION: { form: true },
TEXTAREA: { form: true },
LABEL: { form: true },
FIELDSET: { form: true },
LEGEND: { form: true },
OBJECT: { form: true }
};
function preferAttr(tagName, propName) {
let tag = ATTR_OVERRIDES[tagName.toUpperCase()];
return tag && tag[propName.toLowerCase()] || false;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZG9tL3Byb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0E7Ozs7O0dBS0c7QUFDSCwyQkFBa0MsT0FBdUIsRUFBRSxRQUFnQjtJQUN6RSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUM7SUFFckIsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUN0QixJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQixJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ2QsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ2QsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNO1FBQ2YsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTztZQUNwQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDOUIsQ0FBQztBQXhCRCw4Q0F3QkM7QUFFRCxnQ0FBdUMsS0FBYTtJQUNsRCxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDZixDQUFDO0FBTkQsd0RBTUM7QUFFRCxxREFBcUQ7QUFDckQsZ0JBQWdCO0FBQ2hCLHlCQUF5QjtBQUN6QixNQUFNLGNBQWMsR0FBRztJQUVyQixpRUFBaUU7SUFDakUsOERBQThEO0lBQzlELE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtJQUVsQyxLQUFLLEVBQUU7UUFDTCw0REFBNEQ7UUFDNUQsOENBQThDO1FBQzlDLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLElBQUk7UUFDVixpRkFBaUY7UUFDakYsMkVBQTJFO1FBQzNFLCtGQUErRjtRQUMvRixXQUFXLEVBQUUsSUFBSTtRQUNqQiwwRUFBMEU7UUFDMUUsb0VBQW9FO1FBQ3BFLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFFRCx5RUFBeUU7SUFDekUsa0RBQWtEO0lBQ2xELE1BQU0sRUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDeEIsTUFBTSxFQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtJQUN4QixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0lBQ3hCLEtBQUssRUFBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDeEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtJQUN4QixNQUFNLEVBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0lBQ3hCLE1BQU0sRUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7Q0FDekIsQ0FBQztBQUVGLG9CQUFvQixPQUFlLEVBQUUsUUFBZ0I7SUFDbkQsSUFBSSxHQUFHLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUNyRCxDQUFDIn0=