@jay-js/ui
Version:
A library of UI components for Jay JS with Tailwind CSS and daisyUI.
52 lines (51 loc) • 1.71 kB
JavaScript
function _object_without_properties(source, excluded) {
if (source == null) return {};
var target = _object_without_properties_loose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for(i = 0; i < sourceSymbolKeys.length; i++){
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
function _object_without_properties_loose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for(i = 0; i < sourceKeys.length; i++){
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
export function Fragment(_param) {
var { children } = _param, props = _object_without_properties(_param, [
"children"
]);
const fragment = document.createDocumentFragment();
props && Object.entries(props).forEach(([key, value])=>{
try {
fragment[key] = value;
} catch (error) {
if (error instanceof TypeError) {
console.warn(`JayJS: Cannot set property '${key}' of type '${typeof value}' to '${value}'.`);
throw error;
}
}
});
if (Array.isArray(children)) {
children.forEach((item)=>{
fragment.append(item);
});
} else {
children && fragment.append(children);
}
return fragment;
}