UNPKG

@wordpress/components

Version:
88 lines (69 loc) 1.92 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _reactNative = require("react-native"); var _data = require("@wordpress/data"); var _compose = require("@wordpress/compose"); var _ = _interopRequireDefault(require("./")); var _style = _interopRequireDefault(require("./style.scss")); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ class NoticeList extends _element.Component { constructor() { super(...arguments); this.removeNotice = this.removeNotice.bind(this); } removeNotice(id) { const { removeNotice } = this.props; removeNotice(id); } render() { const { notices, shouldStack } = this.props; if (!notices.length) { return null; } return (0, _element.createElement)(_reactNative.View, { style: _style.default.list, key: notices.length }, shouldStack ? notices.reverse().map(notice => (0, _element.createElement)(_.default, (0, _extends2.default)({}, notice, { key: notice.id, onNoticeHidden: this.removeNotice }))) : (0, _element.createElement)(_.default, (0, _extends2.default)({}, notices[notices.length - 1], { onNoticeHidden: this.removeNotice }))); } } var _default = (0, _compose.compose)([(0, _data.withSelect)(select => { const { getNotices } = select('core/notices'); return { notices: getNotices() }; }), (0, _data.withDispatch)(dispatch => { const { removeNotice } = dispatch('core/notices'); return { removeNotice }; })])(NoticeList); exports.default = _default; //# sourceMappingURL=list.native.js.map