@furystack/shades-nipple
Version:
A Nipple component wrapper for FuryStack Shades
31 lines • 939 B
JavaScript
import { Shade, createComponent } from '@furystack/shades';
import nipplejs from 'nipplejs';
export const NippleComponent = Shade({
shadowDomName: 'shade-nipple',
constructed: async ({ element, props }) => {
const manager = nipplejs.create({
zone: element,
...props.managerOptions,
});
if (props.onStart) {
manager.on('start', props.onStart);
}
if (props.onEnd) {
manager.on('end', props.onEnd);
}
if (props.onDir) {
manager.on('dir', props.onDir);
}
if (props.onMove) {
manager.on('move', props.onMove);
}
return () => manager.destroy();
},
render: ({ children }) => {
if (children) {
return createComponent(createComponent, null, children);
}
return createComponent("div", null);
},
});
//# sourceMappingURL=nipple.js.map