@agnos-ui/core
Version:
Framework-agnostic headless component library.
74 lines (73 loc) • 2.27 kB
JavaScript
;
const services_transitions_baseTransitions = require("./services/transitions/baseTransitions.cjs");
const utils_func = require("./utils/func.cjs");
const utils_stores = require("./utils/stores.cjs");
const utils_writables = require("./writables-Bn3uhKEG.cjs");
const defaultCommonAlertConfig = {
visible: true,
dismissible: true,
ariaCloseButtonLabel: "Close",
onVisibleChange: utils_func.noop,
onShown: utils_func.noop,
onHidden: utils_func.noop,
animated: true,
animatedOnInit: false,
transition: utils_func.noop,
className: ""
};
function getCommonAlertDefaultConfig() {
return { ...defaultCommonAlertConfig };
}
const commonAlertConfigValidator = {
dismissible: utils_writables.typeBoolean,
onVisibleChange: utils_writables.typeFunction,
onHidden: utils_writables.typeFunction,
onShown: utils_writables.typeFunction,
transition: utils_writables.typeFunction,
animatedOnInit: utils_writables.typeBoolean,
animated: utils_writables.typeBoolean,
visible: utils_writables.typeBoolean,
ariaCloseButtonLabel: utils_writables.typeString,
className: utils_writables.typeString
};
function createCommonAlert(config) {
const [
{
transition$,
animatedOnInit$,
animated$,
visible$: requestedVisible$,
onVisibleChange$,
onHidden$,
onShown$,
...stateProps
},
patch
] = utils_stores.writablesForProps(defaultCommonAlertConfig, config, commonAlertConfigValidator);
const transition = services_transitions_baseTransitions.createTransition({
props: {
transition: transition$,
visible: requestedVisible$,
animated: animated$,
animatedOnInit: animatedOnInit$,
onVisibleChange: onVisibleChange$,
onHidden: onHidden$,
onShown: onShown$
}
});
const visible$ = transition.stores.visible$;
const hidden$ = transition.stores.hidden$;
return {
...utils_stores.stateStores({ ...stateProps, visible$, hidden$ }),
patch,
api: {
open: transition.api.show,
close: transition.api.hide
},
directives: {
transitionDirective: transition.directives.directive
}
};
}
exports.createCommonAlert = createCommonAlert;
exports.getCommonAlertDefaultConfig = getCommonAlertDefaultConfig;