@wordpress/components
Version:
UI components for WordPress.
60 lines (56 loc) • 1.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
var _data = require("@wordpress/data");
var _notices = require("@wordpress/notices");
var _ = _interopRequireDefault(require("./"));
var _style = _interopRequireDefault(require("./style.scss"));
var _element = require("@wordpress/element");
var _react = require("react");
var _jsxRuntime = require("react/jsx-runtime");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function NoticeList() {
const {
notices
} = (0, _data.useSelect)(select => {
const {
getNotices
} = select(_notices.store);
return {
notices: getNotices()
};
}, []);
const {
removeNotice
} = (0, _data.useDispatch)(_notices.store);
const onRemoveNotice = (0, _element.useCallback)(id => {
removeNotice(id);
}, [removeNotice]);
if (!notices.length) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
style: _style.default.list,
children: notices.map(notice => {
return /*#__PURE__*/(0, _react.createElement)(_.default, {
...notice,
key: notice.id,
onNoticeHidden: onRemoveNotice
});
})
});
}
var _default = exports.default = NoticeList;
//# sourceMappingURL=list.native.js.map