UNPKG

@agnos-ui/core

Version:

Framework-agnostic headless component library.

74 lines (73 loc) 2.27 kB
"use strict"; 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;