UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

161 lines (157 loc) 5.98 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ import { _ as _defineProperty } from '../_chunks/dep-f9e836af.mjs'; import { defineComponent, ref, computed, createVNode, mergeProps } from 'vue'; import _Notification from './notification.mjs'; import { DEFAULT_Z_INDEX, PLACEMENT_OFFSET, DISTANCE } from './const.mjs'; import { usePrefixClass } from '../hooks/useConfig.mjs'; import '../_chunks/dep-82805301.mjs'; import '../_chunks/dep-7f8588b1.mjs'; import '../_chunks/dep-bd64cde8.mjs'; import '../_chunks/dep-7b4b2cfc.mjs'; import '../_chunks/dep-1cc1c24f.mjs'; import '../_chunks/dep-10a947a6.mjs'; import '../_chunks/dep-b75d8d74.mjs'; import '../_chunks/dep-6ad18815.mjs'; import '../hooks/tnode.mjs'; import '../_chunks/dep-a628549d.mjs'; import '../_chunks/dep-4903a8a8.mjs'; import '../_chunks/dep-a95026f2.mjs'; import '../_chunks/dep-068e912d.mjs'; import '../_chunks/dep-7dcfa37a.mjs'; import '../_chunks/dep-addc2a84.mjs'; import '../_chunks/dep-f4eba04c.mjs'; import '../_chunks/dep-735bcd0d.mjs'; import '../_chunks/dep-765678ef.mjs'; import '../_chunks/dep-8db27830.mjs'; import '../_chunks/dep-ae4bffa5.mjs'; import '../utils/render-tnode.mjs'; import '../_chunks/dep-9d7ebc32.mjs'; import '../_chunks/dep-69963a8c.mjs'; import '../_chunks/dep-6e7b37b8.mjs'; import '../_chunks/dep-e1ab85c5.mjs'; import '../_chunks/dep-5f0e0453.mjs'; import '../_chunks/dep-db381ece.mjs'; import '../_chunks/dep-5755c21c.mjs'; import '../_chunks/dep-8d1c9a23.mjs'; import '../_chunks/dep-dafada74.mjs'; import '../_chunks/dep-0e832fc7.mjs'; import '../_chunks/dep-11fa9c2c.mjs'; import './props.mjs'; import './animate.mjs'; import '../config-provider/useConfig.mjs'; import '../_chunks/dep-91ac8f71.mjs'; import '../_chunks/dep-c4737535.mjs'; import '../_chunks/dep-81c83986.mjs'; import '../_chunks/dep-6aa0223b.mjs'; import '../_chunks/dep-7f239c43.mjs'; import '../_chunks/dep-6f04869e.mjs'; import '../_chunks/dep-d32fbbb3.mjs'; import '../_chunks/dep-71f84cf2.mjs'; import '../_chunks/dep-03412fab.mjs'; import '../_chunks/dep-205ff58d.mjs'; import '../_chunks/dep-b09f48fa.mjs'; import '../_chunks/dep-26bf361a.mjs'; import '../_chunks/dep-3ec3335a.mjs'; import '../_chunks/dep-ed4e7c50.mjs'; import '../_chunks/dep-a666b9ad.mjs'; import '../_common/js/global-config/default-config.mjs'; import '../_common/js/global-config/locale/en_US.mjs'; import '../config-provider/type.mjs'; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var NotificationList = defineComponent({ props: { placement: { type: String, "default": "top-right", validator: function validator(v) { return ["top-left", "top-right", "bottom-left", "bottom-right"].indexOf(v) > -1; } } }, setup: function setup(props, _ref) { var expose = _ref.expose; var COMPONENT_NAME = usePrefixClass("notification-list"); var placement = props.placement; var list = ref([]); var notificationList = ref([]); var styles = computed(function () { return _objectSpread({ zIndex: DEFAULT_Z_INDEX }, PLACEMENT_OFFSET[placement]); }); var add = function add(options) { list.value.push(options); return list.value.length - 1; }; var remove = function remove(index) { list.value.splice(index, 1); }; var removeAll = function removeAll() { list.value = []; }; var getOffset = function getOffset(val) { if (!val) return; return isNaN(Number(val)) ? val : "".concat(val, "px"); }; var notificationStyles = function notificationStyles(item) { var styles2 = { marginBottom: DISTANCE }; if (item.offset) { styles2.position = "relative"; styles2.left = getOffset(item.offset[0]); styles2.top = getOffset(item.offset[1]); } if (item.zIndex) styles2["z-index"] = item.zIndex; return styles2; }; var getProps = function getProps(index, item) { return _objectSpread(_objectSpread({}, item), {}, { onCloseBtnClick: function onCloseBtnClick(e) { if (item.onCloseBtnClick) { item.onCloseBtnClick(e); } return remove(index); }, onDurationEnd: function onDurationEnd() { if (item.onDurationEnd) { item.onDurationEnd(); } return remove(index); } }); }; var addChild = function addChild(el) { if (el) { notificationList.value.push(el); } }; expose({ add: add, remove: remove, removeAll: removeAll, list: list, notificationList: notificationList }); return function () { if (!list.value.length) return; return createVNode("div", { "class": "".concat(COMPONENT_NAME.value, "__show"), "style": styles.value }, [list.value.map(function (item, index) { return createVNode(_Notification, mergeProps({ "ref": addChild, "key": item.id, "style": notificationStyles(item) }, getProps(index, item)), null); })]); }; } }); export { NotificationList as default }; //# sourceMappingURL=notificationList.mjs.map