and not a ?
return Object(external_this_wp_element_["createElement"])("ul", {
ref: this.bindList,
className: "components-form-token-field__suggestions-list",
id: "components-form-token-suggestions-".concat(this.props.instanceId),
role: "listbox"
}, Object(external_lodash_["map"])(this.props.suggestions, function (suggestion, index) {
var match = _this5.computeSuggestionMatch(suggestion);
var classeName = classnames_default()('components-form-token-field__suggestion', {
'is-selected': index === _this5.props.selectedIndex
});
/* eslint-disable jsx-a11y/click-events-have-key-events */
return Object(external_this_wp_element_["createElement"])("li", {
id: "components-form-token-suggestions-".concat(_this5.props.instanceId, "-").concat(index),
role: "option",
className: classeName,
key: suggestion,
onMouseDown: _this5.handleMouseDown,
onClick: _this5.handleClick(suggestion),
onMouseEnter: _this5.handleHover(suggestion),
"aria-selected": index === _this5.props.selectedIndex
}, match ? Object(external_this_wp_element_["createElement"])("span", {
"aria-label": _this5.props.displayTransform(suggestion)
}, match.suggestionBeforeMatch, Object(external_this_wp_element_["createElement"])("strong", {
className: "components-form-token-field__suggestion-match"
}, match.suggestionMatch), match.suggestionAfterMatch) : _this5.props.displayTransform(suggestion));
/* eslint-enable jsx-a11y/click-events-have-key-events */
}));
}
}]);
return SuggestionsList;
}(external_this_wp_element_["Component"]);
suggestions_list_SuggestionsList.defaultProps = {
match: '',
onHover: function onHover() {},
onSelect: function onSelect() {},
suggestions: Object.freeze([])
};
/* harmony default export */ var suggestions_list = (Object(external_this_wp_compose_["withSafeTimeout"])(suggestions_list_SuggestionsList));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/form-token-field/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var initialState = {
incompleteTokenValue: '',
inputOffsetFromEnd: 0,
isActive: false,
isExpanded: false,
selectedSuggestionIndex: -1,
selectedSuggestionScroll: false
};
var form_token_field_FormTokenField =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(FormTokenField, _Component);
function FormTokenField() {
var _this;
Object(classCallCheck["a" /* default */])(this, FormTokenField);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FormTokenField).apply(this, arguments));
_this.state = initialState;
_this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onKeyPress = _this.onKeyPress.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onFocus = _this.onFocus.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onBlur = _this.onBlur.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.deleteTokenBeforeInput = _this.deleteTokenBeforeInput.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.deleteTokenAfterInput = _this.deleteTokenAfterInput.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.addCurrentToken = _this.addCurrentToken.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onContainerTouched = _this.onContainerTouched.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.renderToken = _this.renderToken.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onTokenClickRemove = _this.onTokenClickRemove.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onSuggestionHovered = _this.onSuggestionHovered.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onSuggestionSelected = _this.onSuggestionSelected.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onInputChange = _this.onInputChange.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.bindInput = _this.bindInput.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.bindTokensAndInput = _this.bindTokensAndInput.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.updateSuggestions = _this.updateSuggestions.bind(Object(assertThisInitialized["a" /* default */])(_this));
return _this;
}
Object(createClass["a" /* default */])(FormTokenField, [{
key: "componentDidUpdate",
value: function componentDidUpdate(prevProps) {
// Make sure to focus the input when the isActive state is true.
if (this.state.isActive && !this.input.hasFocus()) {
this.input.focus();
}
var _this$props = this.props,
suggestions = _this$props.suggestions,
value = _this$props.value;
var suggestionsDidUpdate = !external_this_wp_isShallowEqual_default()(suggestions, prevProps.suggestions);
if (suggestionsDidUpdate || value !== prevProps.value) {
this.updateSuggestions(suggestionsDidUpdate);
}
}
}, {
key: "bindInput",
value: function bindInput(ref) {
this.input = ref;
}
}, {
key: "bindTokensAndInput",
value: function bindTokensAndInput(ref) {
this.tokensAndInput = ref;
}
}, {
key: "onFocus",
value: function onFocus(event) {
// If focus is on the input or on the container, set the isActive state to true.
if (this.input.hasFocus() || event.target === this.tokensAndInput) {
this.setState({
isActive: true
});
} else {
/*
* Otherwise, focus is on one of the token "remove" buttons and we
* set the isActive state to false to prevent the input to be
* re-focused, see componentDidUpdate().
*/
this.setState({
isActive: false
});
}
if ('function' === typeof this.props.onFocus) {
this.props.onFocus(event);
}
}
}, {
key: "onBlur",
value: function onBlur() {
if (this.inputHasValidValue()) {
this.setState({
isActive: false
});
} else {
this.setState(initialState);
}
}
}, {
key: "onKeyDown",
value: function onKeyDown(event) {
var preventDefault = false;
switch (event.keyCode) {
case external_this_wp_keycodes_["BACKSPACE"]:
preventDefault = this.handleDeleteKey(this.deleteTokenBeforeInput);
break;
case external_this_wp_keycodes_["ENTER"]:
preventDefault = this.addCurrentToken();
break;
case external_this_wp_keycodes_["LEFT"]:
preventDefault = this.handleLeftArrowKey();
break;
case external_this_wp_keycodes_["UP"]:
preventDefault = this.handleUpArrowKey();
break;
case external_this_wp_keycodes_["RIGHT"]:
preventDefault = this.handleRightArrowKey();
break;
case external_this_wp_keycodes_["DOWN"]:
preventDefault = this.handleDownArrowKey();
break;
case external_this_wp_keycodes_["DELETE"]:
preventDefault = this.handleDeleteKey(this.deleteTokenAfterInput);
break;
case external_this_wp_keycodes_["SPACE"]:
if (this.props.tokenizeOnSpace) {
preventDefault = this.addCurrentToken();
}
break;
case external_this_wp_keycodes_["ESCAPE"]:
preventDefault = this.handleEscapeKey(event);
event.stopPropagation();
break;
default:
break;
}
if (preventDefault) {
event.preventDefault();
}
}
}, {
key: "onKeyPress",
value: function onKeyPress(event) {
var preventDefault = false;
switch (event.charCode) {
case 44:
// comma
preventDefault = this.handleCommaKey();
break;
default:
break;
}
if (preventDefault) {
event.preventDefault();
}
}
}, {
key: "onContainerTouched",
value: function onContainerTouched(event) {
// Prevent clicking/touching the tokensAndInput container from blurring
// the input and adding the current token.
if (event.target === this.tokensAndInput && this.state.isActive) {
event.preventDefault();
}
}
}, {
key: "onTokenClickRemove",
value: function onTokenClickRemove(event) {
this.deleteToken(event.value);
this.input.focus();
}
}, {
key: "onSuggestionHovered",
value: function onSuggestionHovered(suggestion) {
var index = this.getMatchingSuggestions().indexOf(suggestion);
if (index >= 0) {
this.setState({
selectedSuggestionIndex: index,
selectedSuggestionScroll: false
});
}
}
}, {
key: "onSuggestionSelected",
value: function onSuggestionSelected(suggestion) {
this.addNewToken(suggestion);
}
}, {
key: "onInputChange",
value: function onInputChange(event) {
var text = event.value;
var separator = this.props.tokenizeOnSpace ? /[ ,\t]+/ : /[,\t]+/;
var items = text.split(separator);
var tokenValue = Object(external_lodash_["last"])(items) || '';
if (items.length > 1) {
this.addNewTokens(items.slice(0, -1));
}
this.setState({
incompleteTokenValue: tokenValue
}, this.updateSuggestions);
this.props.onInputChange(tokenValue);
}
}, {
key: "handleDeleteKey",
value: function handleDeleteKey(deleteToken) {
var preventDefault = false;
if (this.input.hasFocus() && this.isInputEmpty()) {
deleteToken();
preventDefault = true;
}
return preventDefault;
}
}, {
key: "handleLeftArrowKey",
value: function handleLeftArrowKey() {
var preventDefault = false;
if (this.isInputEmpty()) {
this.moveInputBeforePreviousToken();
preventDefault = true;
}
return preventDefault;
}
}, {
key: "handleRightArrowKey",
value: function handleRightArrowKey() {
var preventDefault = false;
if (this.isInputEmpty()) {
this.moveInputAfterNextToken();
preventDefault = true;
}
return preventDefault;
}
}, {
key: "handleUpArrowKey",
value: function handleUpArrowKey() {
var _this2 = this;
this.setState(function (state, props) {
return {
selectedSuggestionIndex: (state.selectedSuggestionIndex === 0 ? _this2.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length : state.selectedSuggestionIndex) - 1,
selectedSuggestionScroll: true
};
});
return true; // preventDefault
}
}, {
key: "handleDownArrowKey",
value: function handleDownArrowKey() {
var _this3 = this;
this.setState(function (state, props) {
return {
selectedSuggestionIndex: (state.selectedSuggestionIndex + 1) % _this3.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length,
selectedSuggestionScroll: true
};
});
return true; // preventDefault
}
}, {
key: "handleEscapeKey",
value: function handleEscapeKey(event) {
this.setState({
incompleteTokenValue: event.target.value,
isExpanded: false,
selectedSuggestionIndex: -1,
selectedSuggestionScroll: false
});
return true; // preventDefault
}
}, {
key: "handleCommaKey",
value: function handleCommaKey() {
if (this.inputHasValidValue()) {
this.addNewToken(this.state.incompleteTokenValue);
}
return true; // preventDefault
}
}, {
key: "moveInputToIndex",
value: function moveInputToIndex(index) {
this.setState(function (state, props) {
return {
inputOffsetFromEnd: props.value.length - Math.max(index, -1) - 1
};
});
}
}, {
key: "moveInputBeforePreviousToken",
value: function moveInputBeforePreviousToken() {
this.setState(function (state, props) {
return {
inputOffsetFromEnd: Math.min(state.inputOffsetFromEnd + 1, props.value.length)
};
});
}
}, {
key: "moveInputAfterNextToken",
value: function moveInputAfterNextToken() {
this.setState(function (state) {
return {
inputOffsetFromEnd: Math.max(state.inputOffsetFromEnd - 1, 0)
};
});
}
}, {
key: "deleteTokenBeforeInput",
value: function deleteTokenBeforeInput() {
var index = this.getIndexOfInput() - 1;
if (index > -1) {
this.deleteToken(this.props.value[index]);
}
}
}, {
key: "deleteTokenAfterInput",
value: function deleteTokenAfterInput() {
var index = this.getIndexOfInput();
if (index < this.props.value.length) {
this.deleteToken(this.props.value[index]); // update input offset since it's the offset from the last token
this.moveInputToIndex(index);
}
}
}, {
key: "addCurrentToken",
value: function addCurrentToken() {
var preventDefault = false;
var selectedSuggestion = this.getSelectedSuggestion();
if (selectedSuggestion) {
this.addNewToken(selectedSuggestion);
preventDefault = true;
} else if (this.inputHasValidValue()) {
this.addNewToken(this.state.incompleteTokenValue);
preventDefault = true;
}
return preventDefault;
}
}, {
key: "addNewTokens",
value: function addNewTokens(tokens) {
var _this4 = this;
var tokensToAdd = Object(external_lodash_["uniq"])(tokens.map(this.props.saveTransform).filter(Boolean).filter(function (token) {
return !_this4.valueContainsToken(token);
}));
if (tokensToAdd.length > 0) {
var newValue = Object(external_lodash_["clone"])(this.props.value);
newValue.splice.apply(newValue, [this.getIndexOfInput(), 0].concat(tokensToAdd));
this.props.onChange(newValue);
}
}
}, {
key: "addNewToken",
value: function addNewToken(token) {
this.addNewTokens([token]);
this.props.speak(this.props.messages.added, 'assertive');
this.setState({
incompleteTokenValue: '',
selectedSuggestionIndex: -1,
selectedSuggestionScroll: false,
isExpanded: false
});
if (this.state.isActive) {
this.input.focus();
}
}
}, {
key: "deleteToken",
value: function deleteToken(token) {
var _this5 = this;
var newTokens = this.props.value.filter(function (item) {
return _this5.getTokenValue(item) !== _this5.getTokenValue(token);
});
this.props.onChange(newTokens);
this.props.speak(this.props.messages.removed, 'assertive');
}
}, {
key: "getTokenValue",
value: function getTokenValue(token) {
if ('object' === Object(esm_typeof["a" /* default */])(token)) {
return token.value;
}
return token;
}
}, {
key: "getMatchingSuggestions",
value: function getMatchingSuggestions() {
var searchValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.incompleteTokenValue;
var suggestions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.suggestions;
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.value;
var maxSuggestions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props.maxSuggestions;
var saveTransform = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.props.saveTransform;
var match = saveTransform(searchValue);
var startsWithMatch = [];
var containsMatch = [];
if (match.length === 0) {
suggestions = Object(external_lodash_["difference"])(suggestions, value);
} else {
match = match.toLocaleLowerCase();
Object(external_lodash_["each"])(suggestions, function (suggestion) {
var index = suggestion.toLocaleLowerCase().indexOf(match);
if (value.indexOf(suggestion) === -1) {
if (index === 0) {
startsWithMatch.push(suggestion);
} else if (index > 0) {
containsMatch.push(suggestion);
}
}
});
suggestions = startsWithMatch.concat(containsMatch);
}
return Object(external_lodash_["take"])(suggestions, maxSuggestions);
}
}, {
key: "getSelectedSuggestion",
value: function getSelectedSuggestion() {
if (this.state.selectedSuggestionIndex !== -1) {
return this.getMatchingSuggestions()[this.state.selectedSuggestionIndex];
}
}
}, {
key: "valueContainsToken",
value: function valueContainsToken(token) {
var _this6 = this;
return Object(external_lodash_["some"])(this.props.value, function (item) {
return _this6.getTokenValue(token) === _this6.getTokenValue(item);
});
}
}, {
key: "getIndexOfInput",
value: function getIndexOfInput() {
return this.props.value.length - this.state.inputOffsetFromEnd;
}
}, {
key: "isInputEmpty",
value: function isInputEmpty() {
return this.state.incompleteTokenValue.length === 0;
}
}, {
key: "inputHasValidValue",
value: function inputHasValidValue() {
return this.props.saveTransform(this.state.incompleteTokenValue).length > 0;
}
}, {
key: "updateSuggestions",
value: function updateSuggestions() {
var resetSelectedSuggestion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
var incompleteTokenValue = this.state.incompleteTokenValue;
var inputHasMinimumChars = incompleteTokenValue.trim().length > 1;
var matchingSuggestions = this.getMatchingSuggestions(incompleteTokenValue);
var hasMatchingSuggestions = matchingSuggestions.length > 0;
var newState = {
isExpanded: inputHasMinimumChars && hasMatchingSuggestions
};
if (resetSelectedSuggestion) {
newState.selectedSuggestionIndex = -1;
newState.selectedSuggestionScroll = false;
}
this.setState(newState);
if (inputHasMinimumChars) {
var debouncedSpeak = this.props.debouncedSpeak;
var message = hasMatchingSuggestions ? Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', matchingSuggestions.length), matchingSuggestions.length) : Object(external_this_wp_i18n_["__"])('No results.');
debouncedSpeak(message, 'assertive');
}
}
}, {
key: "renderTokensAndInput",
value: function renderTokensAndInput() {
var components = Object(external_lodash_["map"])(this.props.value, this.renderToken);
components.splice(this.getIndexOfInput(), 0, this.renderInput());
return components;
}
}, {
key: "renderToken",
value: function renderToken(token, index, tokens) {
var value = this.getTokenValue(token);
var status = token.status ? token.status : undefined;
var termPosition = index + 1;
var termsCount = tokens.length;
return Object(external_this_wp_element_["createElement"])(form_token_field_token, {
key: 'token-' + value,
value: value,
status: status,
title: token.title,
displayTransform: this.props.displayTransform,
onClickRemove: this.onTokenClickRemove,
isBorderless: token.isBorderless || this.props.isBorderless,
onMouseEnter: token.onMouseEnter,
onMouseLeave: token.onMouseLeave,
disabled: 'error' !== status && this.props.disabled,
messages: this.props.messages,
termsCount: termsCount,
termPosition: termPosition
});
}
}, {
key: "renderInput",
value: function renderInput() {
var _this$props2 = this.props,
autoCapitalize = _this$props2.autoCapitalize,
autoComplete = _this$props2.autoComplete,
maxLength = _this$props2.maxLength,
value = _this$props2.value,
instanceId = _this$props2.instanceId;
var props = {
instanceId: instanceId,
autoCapitalize: autoCapitalize,
autoComplete: autoComplete,
ref: this.bindInput,
key: 'input',
disabled: this.props.disabled,
value: this.state.incompleteTokenValue,
onBlur: this.onBlur,
isExpanded: this.state.isExpanded,
selectedSuggestionIndex: this.state.selectedSuggestionIndex
};
if (!(maxLength && value.length >= maxLength)) {
props = Object(objectSpread["a" /* default */])({}, props, {
onChange: this.onInputChange
});
}
return Object(external_this_wp_element_["createElement"])(token_input, props);
}
}, {
key: "render",
value: function render() {
var _this$props3 = this.props,
disabled = _this$props3.disabled,
_this$props3$label = _this$props3.label,
label = _this$props3$label === void 0 ? Object(external_this_wp_i18n_["__"])('Add item') : _this$props3$label,
instanceId = _this$props3.instanceId,
className = _this$props3.className;
var isExpanded = this.state.isExpanded;
var classes = classnames_default()(className, 'components-form-token-field__input-container', {
'is-active': this.state.isActive,
'is-disabled': disabled
});
var tokenFieldProps = {
className: 'components-form-token-field',
tabIndex: '-1'
};
var matchingSuggestions = this.getMatchingSuggestions();
if (!disabled) {
tokenFieldProps = Object.assign({}, tokenFieldProps, {
onKeyDown: this.onKeyDown,
onKeyPress: this.onKeyPress,
onFocus: this.onFocus
});
} // Disable reason: There is no appropriate role which describes the
// input container intended accessible usability.
// TODO: Refactor click detection to use blur to stop propagation.
/* eslint-disable jsx-a11y/no-static-element-interactions */
return Object(external_this_wp_element_["createElement"])("div", tokenFieldProps, Object(external_this_wp_element_["createElement"])("label", {
htmlFor: "components-form-token-input-".concat(instanceId),
className: "components-form-token-field__label"
}, label), Object(external_this_wp_element_["createElement"])("div", {
ref: this.bindTokensAndInput,
className: classes,
tabIndex: "-1",
onMouseDown: this.onContainerTouched,
onTouchStart: this.onContainerTouched
}, this.renderTokensAndInput(), isExpanded && Object(external_this_wp_element_["createElement"])(suggestions_list, {
instanceId: instanceId,
match: this.props.saveTransform(this.state.incompleteTokenValue),
displayTransform: this.props.displayTransform,
suggestions: matchingSuggestions,
selectedIndex: this.state.selectedSuggestionIndex,
scrollIntoView: this.state.selectedSuggestionScroll,
onHover: this.onSuggestionHovered,
onSelect: this.onSuggestionSelected
})), Object(external_this_wp_element_["createElement"])("p", {
id: "components-form-token-suggestions-howto-".concat(instanceId),
className: "components-form-token-field__help"
}, this.props.tokenizeOnSpace ? Object(external_this_wp_i18n_["__"])('Separate with commas, spaces, or the Enter key.') : Object(external_this_wp_i18n_["__"])('Separate with commas or the Enter key.')));
/* eslint-enable jsx-a11y/no-static-element-interactions */
}
}], [{
key: "getDerivedStateFromProps",
value: function getDerivedStateFromProps(props, state) {
if (!props.disabled || !state.isActive) {
return null;
}
return {
isActive: false,
incompleteTokenValue: ''
};
}
}]);
return FormTokenField;
}(external_this_wp_element_["Component"]);
form_token_field_FormTokenField.defaultProps = {
suggestions: Object.freeze([]),
maxSuggestions: 100,
value: Object.freeze([]),
displayTransform: external_lodash_["identity"],
saveTransform: function saveTransform(token) {
return token.trim();
},
onChange: function onChange() {},
onInputChange: function onInputChange() {},
isBorderless: false,
disabled: false,
tokenizeOnSpace: false,
messages: {
added: Object(external_this_wp_i18n_["__"])('Item added.'),
removed: Object(external_this_wp_i18n_["__"])('Item removed.'),
remove: Object(external_this_wp_i18n_["__"])('Remove item')
}
};
/* harmony default export */ var form_token_field = (with_spoken_messages(Object(external_this_wp_compose_["withInstanceId"])(form_token_field_FormTokenField)));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/menu-group/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
function MenuGroup(_ref) {
var children = _ref.children,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
instanceId = _ref.instanceId,
label = _ref.label;
if (!external_this_wp_element_["Children"].count(children)) {
return null;
}
var labelId = "components-menu-group-label-".concat(instanceId);
var classNames = classnames_default()(className, 'components-menu-group');
return Object(external_this_wp_element_["createElement"])("div", {
className: classNames
}, label && Object(external_this_wp_element_["createElement"])("div", {
className: "components-menu-group__label",
id: labelId,
"aria-hidden": "true"
}, label), Object(external_this_wp_element_["createElement"])("div", {
role: "group",
"aria-labelledby": label ? labelId : null
}, children));
}
/* harmony default export */ var menu_group = (Object(external_this_wp_compose_["withInstanceId"])(MenuGroup));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/menu-item/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Renders a generic menu item for use inside the more menu.
*
* @return {WPElement} More menu item.
*/
function MenuItem(_ref) {
var children = _ref.children,
info = _ref.info,
className = _ref.className,
icon = _ref.icon,
shortcut = _ref.shortcut,
isSelected = _ref.isSelected,
_ref$role = _ref.role,
role = _ref$role === void 0 ? 'menuitem' : _ref$role,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["children", "info", "className", "icon", "shortcut", "isSelected", "role"]);
className = classnames_default()('components-menu-item__button', className, {
'has-icon': icon
});
if (info) {
children = Object(external_this_wp_element_["createElement"])("span", {
className: "components-menu-item__info-wrapper"
}, children, Object(external_this_wp_element_["createElement"])("span", {
className: "components-menu-item__info"
}, info));
}
if (icon && !Object(external_lodash_["isString"])(icon)) {
icon = Object(external_this_wp_element_["cloneElement"])(icon, {
className: 'components-menu-items__item-icon',
height: 20,
width: 20
});
}
return Object(external_this_wp_element_["createElement"])(icon_button, Object(esm_extends["a" /* default */])({
icon: icon // Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked
,
"aria-checked": role === 'menuitemcheckbox' || role === 'menuitemradio' ? isSelected : undefined,
role: role,
className: className
}, props), children, Object(external_this_wp_element_["createElement"])(build_module_shortcut, {
className: "components-menu-item__shortcut",
shortcut: shortcut
}));
}
/* harmony default export */ var menu_item = (MenuItem);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/menu-items-choice/index.js
/**
* Internal dependencies
*/
function MenuItemsChoice(_ref) {
var _ref$choices = _ref.choices,
choices = _ref$choices === void 0 ? [] : _ref$choices,
onSelect = _ref.onSelect,
value = _ref.value;
return choices.map(function (item) {
var isSelected = value === item.value;
return Object(external_this_wp_element_["createElement"])(menu_item, {
key: item.value,
role: "menuitemradio",
icon: isSelected && 'yes',
isSelected: isSelected,
shortcut: item.shortcut,
onClick: function onClick() {
if (!isSelected) {
onSelect(item.value);
}
}
}, item.label);
});
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/frame.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var frame_ModalFrame =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(ModalFrame, _Component);
function ModalFrame() {
var _this;
Object(classCallCheck["a" /* default */])(this, ModalFrame);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ModalFrame).apply(this, arguments));
_this.containerRef = Object(external_this_wp_element_["createRef"])();
_this.handleKeyDown = _this.handleKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.handleFocusOutside = _this.handleFocusOutside.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.focusFirstTabbable = _this.focusFirstTabbable.bind(Object(assertThisInitialized["a" /* default */])(_this));
return _this;
}
/**
* Focuses the first tabbable element when props.focusOnMount is true.
*/
Object(createClass["a" /* default */])(ModalFrame, [{
key: "componentDidMount",
value: function componentDidMount() {
// Focus on mount
if (this.props.focusOnMount) {
this.focusFirstTabbable();
}
}
/**
* Focuses the first tabbable element.
*/
}, {
key: "focusFirstTabbable",
value: function focusFirstTabbable() {
var tabbables = external_this_wp_dom_["focus"].tabbable.find(this.containerRef.current);
if (tabbables.length) {
tabbables[0].focus();
}
}
/**
* Callback function called when clicked outside the modal.
*
* @param {Object} event Mouse click event.
*/
}, {
key: "handleFocusOutside",
value: function handleFocusOutside(event) {
if (this.props.shouldCloseOnClickOutside) {
this.onRequestClose(event);
}
}
/**
* Callback function called when a key is pressed.
*
* @param {KeyboardEvent} event Key down event.
*/
}, {
key: "handleKeyDown",
value: function handleKeyDown(event) {
if (event.keyCode === external_this_wp_keycodes_["ESCAPE"]) {
this.handleEscapeKeyDown(event);
}
}
/**
* Handles a escape key down event.
*
* Calls onRequestClose and prevents propagation of the event outside the modal.
*
* @param {Object} event Key down event.
*/
}, {
key: "handleEscapeKeyDown",
value: function handleEscapeKeyDown(event) {
if (this.props.shouldCloseOnEsc) {
event.stopPropagation();
this.onRequestClose(event);
}
}
/**
* Calls the onRequestClose callback props when it is available.
*
* @param {Object} event Event object.
*/
}, {
key: "onRequestClose",
value: function onRequestClose(event) {
var onRequestClose = this.props.onRequestClose;
if (onRequestClose) {
onRequestClose(event);
}
}
/**
* Renders the modal frame element.
*
* @return {WPElement} The modal frame element.
*/
}, {
key: "render",
value: function render() {
var _this$props = this.props,
overlayClassName = _this$props.overlayClassName,
contentLabel = _this$props.contentLabel,
_this$props$aria = _this$props.aria,
describedby = _this$props$aria.describedby,
labelledby = _this$props$aria.labelledby,
children = _this$props.children,
className = _this$props.className,
role = _this$props.role,
style = _this$props.style;
return Object(external_this_wp_element_["createElement"])(isolated_event_container, {
className: classnames_default()('components-modal__screen-overlay', overlayClassName),
onKeyDown: this.handleKeyDown
}, Object(external_this_wp_element_["createElement"])("div", {
className: classnames_default()('components-modal__frame', className),
style: style,
ref: this.containerRef,
role: role,
"aria-label": contentLabel,
"aria-labelledby": contentLabel ? null : labelledby,
"aria-describedby": describedby,
tabIndex: "-1"
}, children));
}
}]);
return ModalFrame;
}(external_this_wp_element_["Component"]);
/* harmony default export */ var modal_frame = (Object(external_this_wp_compose_["compose"])([with_focus_return, with_constrained_tabbing, with_focus_outside])(frame_ModalFrame));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/header.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var header_ModalHeader = function ModalHeader(_ref) {
var icon = _ref.icon,
title = _ref.title,
onClose = _ref.onClose,
closeLabel = _ref.closeLabel,
headingId = _ref.headingId,
isDismissable = _ref.isDismissable;
var label = closeLabel ? closeLabel : Object(external_this_wp_i18n_["__"])('Close dialog');
return Object(external_this_wp_element_["createElement"])("div", {
className: "components-modal__header"
}, Object(external_this_wp_element_["createElement"])("div", {
className: "components-modal__header-heading-container"
}, icon && Object(external_this_wp_element_["createElement"])("span", {
className: "components-modal__icon-container",
"aria-hidden": true
}, icon), title && Object(external_this_wp_element_["createElement"])("h1", {
id: headingId,
className: "components-modal__header-heading"
}, title)), isDismissable && Object(external_this_wp_element_["createElement"])(icon_button, {
onClick: onClose,
icon: "no-alt",
label: label
}));
};
/* harmony default export */ var modal_header = (header_ModalHeader);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/aria-helper.js
/**
* External dependencies
*/
var LIVE_REGION_ARIA_ROLES = new Set(['alert', 'status', 'log', 'marquee', 'timer']);
var hiddenElements = [],
isHidden = false;
/**
* Hides all elements in the body element from screen-readers except
* the provided element and elements that should not be hidden from
* screen-readers.
*
* The reason we do this is because `aria-modal="true"` currently is bugged
* in Safari, and support is spotty in other browsers overall. In the future
* we should consider removing these helper functions in favor of
* `aria-modal="true"`.
*
* @param {Element} unhiddenElement The element that should not be hidden.
*/
function hideApp(unhiddenElement) {
if (isHidden) {
return;
}
var elements = document.body.children;
Object(external_lodash_["forEach"])(elements, function (element) {
if (element === unhiddenElement) {
return;
}
if (elementShouldBeHidden(element)) {
element.setAttribute('aria-hidden', 'true');
hiddenElements.push(element);
}
});
isHidden = true;
}
/**
* Determines if the passed element should not be hidden from screen readers.
*
* @param {HTMLElement} element The element that should be checked.
*
* @return {boolean} Whether the element should not be hidden from screen-readers.
*/
function elementShouldBeHidden(element) {
var role = element.getAttribute('role');
return !(element.tagName === 'SCRIPT' || element.hasAttribute('aria-hidden') || element.hasAttribute('aria-live') || LIVE_REGION_ARIA_ROLES.has(role));
}
/**
* Makes all elements in the body that have been hidden by `hideApp`
* visible again to screen-readers.
*/
function showApp() {
if (!isHidden) {
return;
}
Object(external_lodash_["forEach"])(hiddenElements, function (element) {
element.removeAttribute('aria-hidden');
});
hiddenElements = [];
isHidden = false;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
// Used to count the number of open modals.
var parentElement,
openModalCount = 0;
var modal_Modal =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(Modal, _Component);
function Modal(props) {
var _this;
Object(classCallCheck["a" /* default */])(this, Modal);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(Modal).call(this, props));
_this.prepareDOM();
return _this;
}
/**
* Appends the modal's node to the DOM, so the portal can render the
* modal in it. Also calls the openFirstModal when this is the first modal to be
* opened.
*/
Object(createClass["a" /* default */])(Modal, [{
key: "componentDidMount",
value: function componentDidMount() {
openModalCount++;
if (openModalCount === 1) {
this.openFirstModal();
}
}
/**
* Removes the modal's node from the DOM. Also calls closeLastModal when this is
* the last modal to be closed.
*/
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
openModalCount--;
if (openModalCount === 0) {
this.closeLastModal();
}
this.cleanDOM();
}
/**
* Prepares the DOM for the modals to be rendered.
*
* Every modal is mounted in a separate div appended to a parent div
* that is appended to the document body.
*
* The parent div will be created if it does not yet exist, and the
* separate div for this specific modal will be appended to that.
*/
}, {
key: "prepareDOM",
value: function prepareDOM() {
if (!parentElement) {
parentElement = document.createElement('div');
document.body.appendChild(parentElement);
}
this.node = document.createElement('div');
parentElement.appendChild(this.node);
}
/**
* Removes the specific mounting point for this modal from the DOM.
*/
}, {
key: "cleanDOM",
value: function cleanDOM() {
parentElement.removeChild(this.node);
}
/**
* Prepares the DOM for this modal and any additional modal to be mounted.
*
* It appends an additional div to the body for the modals to be rendered in,
* it hides any other elements from screen-readers and adds an additional class
* to the body to prevent scrolling while the modal is open.
*/
}, {
key: "openFirstModal",
value: function openFirstModal() {
hideApp(parentElement);
document.body.classList.add(this.props.bodyOpenClassName);
}
/**
* Cleans up the DOM after the last modal is closed and makes the app available
* for screen-readers again.
*/
}, {
key: "closeLastModal",
value: function closeLastModal() {
document.body.classList.remove(this.props.bodyOpenClassName);
showApp();
}
/**
* Renders the modal.
*
* @return {WPElement} The modal element.
*/
}, {
key: "render",
value: function render() {
var _this$props = this.props,
onRequestClose = _this$props.onRequestClose,
title = _this$props.title,
icon = _this$props.icon,
closeButtonLabel = _this$props.closeButtonLabel,
children = _this$props.children,
aria = _this$props.aria,
instanceId = _this$props.instanceId,
isDismissable = _this$props.isDismissable,
otherProps = Object(objectWithoutProperties["a" /* default */])(_this$props, ["onRequestClose", "title", "icon", "closeButtonLabel", "children", "aria", "instanceId", "isDismissable"]);
var headingId = aria.labelledby || "components-modal-header-".concat(instanceId); // Disable reason: this stops mouse events from triggering tooltips and
// other elements underneath the modal overlay.
return Object(external_this_wp_element_["createPortal"])(Object(external_this_wp_element_["createElement"])(modal_frame, Object(esm_extends["a" /* default */])({
onRequestClose: onRequestClose,
aria: {
labelledby: title ? headingId : null,
describedby: aria.describedby
}
}, otherProps), Object(external_this_wp_element_["createElement"])("div", {
className: 'components-modal__content',
tabIndex: "0"
}, Object(external_this_wp_element_["createElement"])(modal_header, {
closeLabel: closeButtonLabel,
headingId: headingId,
icon: icon,
isDismissable: isDismissable,
onClose: onRequestClose,
title: title
}), children)), this.node);
}
}]);
return Modal;
}(external_this_wp_element_["Component"]);
modal_Modal.defaultProps = {
bodyOpenClassName: 'modal-open',
role: 'dialog',
title: null,
focusOnMount: true,
shouldCloseOnEsc: true,
shouldCloseOnClickOutside: true,
isDismissable: true,
/* accessibility */
aria: {
labelledby: null,
describedby: null
}
};
/* harmony default export */ var modal = (Object(external_this_wp_compose_["withInstanceId"])(modal_Modal));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/notice/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function Notice(_ref) {
var className = _ref.className,
status = _ref.status,
children = _ref.children,
_ref$onRemove = _ref.onRemove,
onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove,
_ref$isDismissible = _ref.isDismissible,
isDismissible = _ref$isDismissible === void 0 ? true : _ref$isDismissible,
_ref$actions = _ref.actions,
actions = _ref$actions === void 0 ? [] : _ref$actions,
__unstableHTML = _ref.__unstableHTML;
var classes = classnames_default()(className, 'components-notice', 'is-' + status, {
'is-dismissible': isDismissible
});
if (__unstableHTML) {
children = Object(external_this_wp_element_["createElement"])(external_this_wp_element_["RawHTML"], null, children);
}
return Object(external_this_wp_element_["createElement"])("div", {
className: classes
}, Object(external_this_wp_element_["createElement"])("div", {
className: "components-notice__content"
}, children, actions.map(function (_ref2, index) {
var buttonCustomClasses = _ref2.className,
label = _ref2.label,
_ref2$noDefaultClasse = _ref2.noDefaultClasses,
noDefaultClasses = _ref2$noDefaultClasse === void 0 ? false : _ref2$noDefaultClasse,
onClick = _ref2.onClick,
url = _ref2.url;
return Object(external_this_wp_element_["createElement"])(build_module_button, {
key: index,
href: url,
isDefault: !noDefaultClasses && !url,
isLink: !noDefaultClasses && !!url,
onClick: url ? undefined : onClick,
className: classnames_default()('components-notice__action', buttonCustomClasses)
}, label);
})), isDismissible && Object(external_this_wp_element_["createElement"])(icon_button, {
className: "components-notice__dismiss",
icon: "no-alt",
label: Object(external_this_wp_i18n_["__"])('Dismiss this notice'),
onClick: onRemove,
tooltip: false
}));
}
/* harmony default export */ var build_module_notice = (Notice);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/notice/list.js
/**
* External dependencies
*/
/**
* Internal dependencies
*/
/**
* Renders a list of notices.
*
* @param {Object} $0 Props passed to the component.
* @param {Array} $0.notices Array of notices to render.
* @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
* @param {Object} $0.className Name of the class used by the component.
* @param {Object} $0.children Array of children to be rendered inside the notice list.
* @return {Object} The rendered notices list.
*/
function NoticeList(_ref) {
var notices = _ref.notices,
_ref$onRemove = _ref.onRemove,
onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove,
className = _ref.className,
children = _ref.children;
var removeNotice = function removeNotice(id) {
return function () {
return onRemove(id);
};
};
className = classnames_default()('components-notice-list', className);
return Object(external_this_wp_element_["createElement"])("div", {
className: className
}, children, Object(toConsumableArray["a" /* default */])(notices).reverse().map(function (notice) {
return Object(external_this_wp_element_["createElement"])(build_module_notice, Object(esm_extends["a" /* default */])({}, Object(external_lodash_["omit"])(notice, ['content']), {
key: notice.id,
onRemove: removeNotice(notice.id)
}), notice.content);
}));
}
/* harmony default export */ var list = (NoticeList);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/panel/header.js
function PanelHeader(_ref) {
var label = _ref.label,
children = _ref.children;
return Object(external_this_wp_element_["createElement"])("div", {
className: "components-panel__header"
}, label && Object(external_this_wp_element_["createElement"])("h2", null, label), children);
}
/* harmony default export */ var panel_header = (PanelHeader);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/panel/index.js
/**
* External dependencies
*/
/**
* Internal dependencies
*/
function Panel(_ref) {
var header = _ref.header,
className = _ref.className,
children = _ref.children;
var classNames = classnames_default()(className, 'components-panel');
return Object(external_this_wp_element_["createElement"])("div", {
className: classNames
}, header && Object(external_this_wp_element_["createElement"])(panel_header, {
label: header
}), children);
}
/* harmony default export */ var panel = (Panel);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/panel/body.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var body_PanelBody =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(PanelBody, _Component);
function PanelBody(props) {
var _this;
Object(classCallCheck["a" /* default */])(this, PanelBody);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(PanelBody).apply(this, arguments));
_this.state = {
opened: props.initialOpen === undefined ? true : props.initialOpen
};
_this.toggle = _this.toggle.bind(Object(assertThisInitialized["a" /* default */])(_this));
return _this;
}
Object(createClass["a" /* default */])(PanelBody, [{
key: "toggle",
value: function toggle(event) {
event.preventDefault();
if (this.props.opened === undefined) {
this.setState(function (state) {
return {
opened: !state.opened
};
});
}
if (this.props.onToggle) {
this.props.onToggle();
}
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
title = _this$props.title,
children = _this$props.children,
opened = _this$props.opened,
className = _this$props.className,
icon = _this$props.icon,
forwardedRef = _this$props.forwardedRef;
var isOpened = opened === undefined ? this.state.opened : opened;
var classes = classnames_default()('components-panel__body', className, {
'is-opened': isOpened
});
return Object(external_this_wp_element_["createElement"])("div", {
className: classes,
ref: forwardedRef
}, !!title && Object(external_this_wp_element_["createElement"])("h2", {
className: "components-panel__body-title"
}, Object(external_this_wp_element_["createElement"])(build_module_button, {
className: "components-panel__body-toggle",
onClick: this.toggle,
"aria-expanded": isOpened
}, Object(external_this_wp_element_["createElement"])("span", {
"aria-hidden": "true"
}, isOpened ? Object(external_this_wp_element_["createElement"])(svg_SVG, {
className: "components-panel__arrow",
width: "24px",
height: "24px",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, Object(external_this_wp_element_["createElement"])(svg_G, null, Object(external_this_wp_element_["createElement"])(svg_Path, {
fill: "none",
d: "M0,0h24v24H0V0z"
})), Object(external_this_wp_element_["createElement"])(svg_G, null, Object(external_this_wp_element_["createElement"])(svg_Path, {
d: "M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z"
}))) : Object(external_this_wp_element_["createElement"])(svg_SVG, {
className: "components-panel__arrow",
width: "24px",
height: "24px",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, Object(external_this_wp_element_["createElement"])(svg_G, null, Object(external_this_wp_element_["createElement"])(svg_Path, {
fill: "none",
d: "M0,0h24v24H0V0z"
})), Object(external_this_wp_element_["createElement"])(svg_G, null, Object(external_this_wp_element_["createElement"])(svg_Path, {
d: "M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"
})))), title, icon && Object(external_this_wp_element_["createElement"])(build_module_icon, {
icon: icon,
className: "components-panel__icon",
size: 20
}))), isOpened && children);
}
}]);
return PanelBody;
}(external_this_wp_element_["Component"]);
var body_forwardedPanelBody = function forwardedPanelBody(props, ref) {
return Object(external_this_wp_element_["createElement"])(body_PanelBody, Object(esm_extends["a" /* default */])({}, props, {
forwardedRef: ref
}));
};
body_forwardedPanelBody.displayName = 'PanelBody';
/* harmony default export */ var panel_body = (Object(external_this_wp_element_["forwardRef"])(body_forwardedPanelBody));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/panel/row.js
/**
* External dependencies
*/
function PanelRow(_ref) {
var className = _ref.className,
children = _ref.children;
var classes = classnames_default()('components-panel__row', className);
return Object(external_this_wp_element_["createElement"])("div", {
className: classes
}, children);
}
/* harmony default export */ var row = (PanelRow);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/placeholder/index.js
/**
* External dependencies
*/
/**
* Internal dependencies
*/
/**
* Renders a placeholder. Normally used by blocks to render their empty state.
*
* @param {Object} props The component props.
* @return {Object} The rendered placeholder.
*/
function Placeholder(_ref) {
var icon = _ref.icon,
children = _ref.children,
label = _ref.label,
instructions = _ref.instructions,
className = _ref.className,
notices = _ref.notices,
preview = _ref.preview,
isColumnLayout = _ref.isColumnLayout,
additionalProps = Object(objectWithoutProperties["a" /* default */])(_ref, ["icon", "children", "label", "instructions", "className", "notices", "preview", "isColumnLayout"]);
var classes = classnames_default()('components-placeholder', className);
var fieldsetClasses = classnames_default()('components-placeholder__fieldset', {
'is-column-layout': isColumnLayout
});
return Object(external_this_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, additionalProps, {
className: classes
}), notices, preview && Object(external_this_wp_element_["createElement"])("div", {
className: "components-placeholder__preview"
}, preview), Object(external_this_wp_element_["createElement"])("div", {
className: "components-placeholder__label"
}, Object(external_lodash_["isString"])(icon) ? Object(external_this_wp_element_["createElement"])(dashicon_Dashicon, {
icon: icon
}) : icon, label), !!instructions && Object(external_this_wp_element_["createElement"])("div", {
className: "components-placeholder__instructions"
}, instructions), Object(external_this_wp_element_["createElement"])("div", {
className: fieldsetClasses
}, children));
}
/* harmony default export */ var placeholder = (Placeholder);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/query-controls/terms.js
/**
* External dependencies
*/
/**
* Returns terms in a tree form.
*
* @param {Array} flatTerms Array of terms in flat format.
*
* @return {Array} Array of terms in tree format.
*/
function buildTermsTree(flatTerms) {
var flatTermsWithParentAndChildren = flatTerms.map(function (term) {
return Object(objectSpread["a" /* default */])({
children: [],
parent: null
}, term);
});
var termsByParent = Object(external_lodash_["groupBy"])(flatTermsWithParentAndChildren, 'parent');
if (termsByParent.null && termsByParent.null.length) {
return flatTermsWithParentAndChildren;
}
var fillWithChildren = function fillWithChildren(terms) {
return terms.map(function (term) {
var children = termsByParent[term.id];
return Object(objectSpread["a" /* default */])({}, term, {
children: children && children.length ? fillWithChildren(children) : []
});
});
};
return fillWithChildren(termsByParent['0'] || []);
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/tree-select/index.js
/**
* External dependencies
*/
/**
* Internal dependencies
*/
function tree_select_getSelectOptions(tree) {
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
return Object(external_lodash_["flatMap"])(tree, function (treeNode) {
return [{
value: treeNode.id,
label: Object(external_lodash_["repeat"])("\xA0", level * 3) + Object(external_lodash_["unescape"])(treeNode.name)
}].concat(Object(toConsumableArray["a" /* default */])(tree_select_getSelectOptions(treeNode.children || [], level + 1)));
});
}
function TreeSelect(_ref) {
var label = _ref.label,
noOptionLabel = _ref.noOptionLabel,
onChange = _ref.onChange,
selectedId = _ref.selectedId,
tree = _ref.tree,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["label", "noOptionLabel", "onChange", "selectedId", "tree"]);
var options = Object(external_lodash_["compact"])([noOptionLabel && {
value: '',
label: noOptionLabel
}].concat(Object(toConsumableArray["a" /* default */])(tree_select_getSelectOptions(tree))));
return Object(external_this_wp_element_["createElement"])(select_control, Object(esm_extends["a" /* default */])({
label: label,
options: options,
onChange: onChange
}, {
value: selectedId
}, props));
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/query-controls/category-select.js
/**
* Internal dependencies
*/
function CategorySelect(_ref) {
var label = _ref.label,
noOptionLabel = _ref.noOptionLabel,
categoriesList = _ref.categoriesList,
selectedCategoryId = _ref.selectedCategoryId,
onChange = _ref.onChange;
var termsTree = buildTermsTree(categoriesList);
return Object(external_this_wp_element_["createElement"])(TreeSelect, Object(esm_extends["a" /* default */])({
label: label,
noOptionLabel: noOptionLabel,
onChange: onChange
}, {
tree: termsTree,
selectedId: selectedCategoryId
}));
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/query-controls/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var DEFAULT_MIN_ITEMS = 1;
var DEFAULT_MAX_ITEMS = 100;
function QueryControls(_ref) {
var categoriesList = _ref.categoriesList,
selectedCategoryId = _ref.selectedCategoryId,
numberOfItems = _ref.numberOfItems,
order = _ref.order,
orderBy = _ref.orderBy,
_ref$maxItems = _ref.maxItems,
maxItems = _ref$maxItems === void 0 ? DEFAULT_MAX_ITEMS : _ref$maxItems,
_ref$minItems = _ref.minItems,
minItems = _ref$minItems === void 0 ? DEFAULT_MIN_ITEMS : _ref$minItems,
onCategoryChange = _ref.onCategoryChange,
onNumberOfItemsChange = _ref.onNumberOfItemsChange,
onOrderChange = _ref.onOrderChange,
onOrderByChange = _ref.onOrderByChange;
return [onOrderChange && onOrderByChange && Object(external_this_wp_element_["createElement"])(select_control, {
key: "query-controls-order-select",
label: Object(external_this_wp_i18n_["__"])('Order by'),
value: "".concat(orderBy, "/").concat(order),
options: [{
label: Object(external_this_wp_i18n_["__"])('Newest to Oldest'),
value: 'date/desc'
}, {
label: Object(external_this_wp_i18n_["__"])('Oldest to Newest'),
value: 'date/asc'
}, {
/* translators: label for ordering posts by title in ascending order */
label: Object(external_this_wp_i18n_["__"])('A → Z'),
value: 'title/asc'
}, {
/* translators: label for ordering posts by title in descending order */
label: Object(external_this_wp_i18n_["__"])('Z → A'),
value: 'title/desc'
}],
onChange: function onChange(value) {
var _value$split = value.split('/'),
_value$split2 = Object(slicedToArray["a" /* default */])(_value$split, 2),
newOrderBy = _value$split2[0],
newOrder = _value$split2[1];
if (newOrder !== order) {
onOrderChange(newOrder);
}
if (newOrderBy !== orderBy) {
onOrderByChange(newOrderBy);
}
}
}), onCategoryChange && Object(external_this_wp_element_["createElement"])(CategorySelect, {
key: "query-controls-category-select",
categoriesList: categoriesList,
label: Object(external_this_wp_i18n_["__"])('Category'),
noOptionLabel: Object(external_this_wp_i18n_["__"])('All'),
selectedCategoryId: selectedCategoryId,
onChange: onCategoryChange
}), onNumberOfItemsChange && Object(external_this_wp_element_["createElement"])(range_control, {
key: "query-controls-range-control",
label: Object(external_this_wp_i18n_["__"])('Number of items'),
value: numberOfItems,
onChange: onNumberOfItemsChange,
min: minItems,
max: maxItems,
required: true
})];
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/radio-control/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function RadioControl(_ref) {
var label = _ref.label,
className = _ref.className,
selected = _ref.selected,
help = _ref.help,
instanceId = _ref.instanceId,
onChange = _ref.onChange,
_ref$options = _ref.options,
options = _ref$options === void 0 ? [] : _ref$options;
var id = "inspector-radio-control-".concat(instanceId);
var onChangeValue = function onChangeValue(event) {
return onChange(event.target.value);
};
return !Object(external_lodash_["isEmpty"])(options) && Object(external_this_wp_element_["createElement"])(base_control, {
label: label,
id: id,
help: help,
className: classnames_default()(className, 'components-radio-control')
}, options.map(function (option, index) {
return Object(external_this_wp_element_["createElement"])("div", {
key: "".concat(id, "-").concat(index),
className: "components-radio-control__option"
}, Object(external_this_wp_element_["createElement"])("input", {
id: "".concat(id, "-").concat(index),
className: "components-radio-control__input",
type: "radio",
name: id,
value: option.value,
onChange: onChangeValue,
checked: option.value === selected,
"aria-describedby": !!help ? "".concat(id, "__help") : undefined
}), Object(external_this_wp_element_["createElement"])("label", {
htmlFor: "".concat(id, "-").concat(index)
}, option.label));
}));
}
/* harmony default export */ var radio_control = (Object(external_this_wp_compose_["withInstanceId"])(RadioControl));
// EXTERNAL MODULE: ./node_modules/re-resizable/lib/index.js
var re_resizable_lib = __webpack_require__(227);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/resizable-box/index.js
/**
* External dependencies
*/
function ResizableBox(_ref) {
var className = _ref.className,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["className"]);
// Removes the inline styles in the drag handles.
var handleStylesOverrides = {
width: null,
height: null,
top: null,
right: null,
bottom: null,
left: null
};
var handleClassName = 'components-resizable-box__handle';
var sideHandleClassName = 'components-resizable-box__side-handle';
var cornerHandleClassName = 'components-resizable-box__corner-handle';
return Object(external_this_wp_element_["createElement"])(re_resizable_lib["Resizable"], Object(esm_extends["a" /* default */])({
className: classnames_default()('components-resizable-box__container', className),
handleClasses: {
top: classnames_default()(handleClassName, sideHandleClassName, 'components-resizable-box__handle-top'),
right: classnames_default()(handleClassName, sideHandleClassName, 'components-resizable-box__handle-right'),
bottom: classnames_default()(handleClassName, sideHandleClassName, 'components-resizable-box__handle-bottom'),
left: classnames_default()(handleClassName, sideHandleClassName, 'components-resizable-box__handle-left'),
topLeft: classnames_default()(handleClassName, cornerHandleClassName, 'components-resizable-box__handle-top', 'components-resizable-box__handle-left'),
topRight: classnames_default()(handleClassName, cornerHandleClassName, 'components-resizable-box__handle-top', 'components-resizable-box__handle-right'),
bottomRight: classnames_default()(handleClassName, cornerHandleClassName, 'components-resizable-box__handle-bottom', 'components-resizable-box__handle-right'),
bottomLeft: classnames_default()(handleClassName, cornerHandleClassName, 'components-resizable-box__handle-bottom', 'components-resizable-box__handle-left')
},
handleStyles: {
top: handleStylesOverrides,
right: handleStylesOverrides,
bottom: handleStylesOverrides,
left: handleStylesOverrides,
topLeft: handleStylesOverrides,
topRight: handleStylesOverrides,
bottomRight: handleStylesOverrides,
bottomLeft: handleStylesOverrides
}
}, props));
}
/* harmony default export */ var resizable_box = (ResizableBox);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/responsive-wrapper/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
function ResponsiveWrapper(_ref) {
var naturalWidth = _ref.naturalWidth,
naturalHeight = _ref.naturalHeight,
children = _ref.children,
_ref$isInline = _ref.isInline,
isInline = _ref$isInline === void 0 ? false : _ref$isInline;
if (external_this_wp_element_["Children"].count(children) !== 1) {
return null;
}
var imageStyle = {
paddingBottom: naturalHeight / naturalWidth * 100 + '%'
};
var TagName = isInline ? 'span' : 'div';
return Object(external_this_wp_element_["createElement"])(TagName, {
className: "components-responsive-wrapper"
}, Object(external_this_wp_element_["createElement"])(TagName, {
style: imageStyle
}), Object(external_this_wp_element_["cloneElement"])(children, {
className: classnames_default()('components-responsive-wrapper__content', children.props.className)
}));
}
/* harmony default export */ var responsive_wrapper = (ResponsiveWrapper);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/sandbox/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var sandbox_Sandbox =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(Sandbox, _Component);
function Sandbox() {
var _this;
Object(classCallCheck["a" /* default */])(this, Sandbox);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(Sandbox).apply(this, arguments));
_this.trySandbox = _this.trySandbox.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.checkMessageForResize = _this.checkMessageForResize.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.iframe = Object(external_this_wp_element_["createRef"])();
_this.state = {
width: 0,
height: 0
};
return _this;
}
Object(createClass["a" /* default */])(Sandbox, [{
key: "componentDidMount",
value: function componentDidMount() {
this.trySandbox();
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
this.trySandbox();
}
}, {
key: "isFrameAccessible",
value: function isFrameAccessible() {
try {
return !!this.iframe.current.contentDocument.body;
} catch (e) {
return false;
}
}
}, {
key: "checkMessageForResize",
value: function checkMessageForResize(event) {
var iframe = this.iframe.current; // Attempt to parse the message data as JSON if passed as string
var data = event.data || {};
if ('string' === typeof data) {
try {
data = JSON.parse(data);
} catch (e) {}
} // Verify that the mounted element is the source of the message
if (!iframe || iframe.contentWindow !== event.source) {
return;
} // Update the state only if the message is formatted as we expect, i.e.
// as an object with a 'resize' action, width, and height
var _data = data,
action = _data.action,
width = _data.width,
height = _data.height;
var _this$state = this.state,
oldWidth = _this$state.width,
oldHeight = _this$state.height;
if ('resize' === action && (oldWidth !== width || oldHeight !== height)) {
this.setState({
width: width,
height: height
});
}
}
}, {
key: "trySandbox",
value: function trySandbox() {
if (!this.isFrameAccessible()) {
return;
}
var body = this.iframe.current.contentDocument.body;
if (null !== body.getAttribute('data-resizable-iframe-connected')) {
return;
}
var observeAndResizeJS = "\n\t\t\t( function() {\n\t\t\t\tvar observer;\n\n\t\t\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction sendResize() {\n\t\t\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t\t\twindow.parent.postMessage( {\n\t\t\t\t\t\taction: 'resize',\n\t\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t\t}, '*' );\n\t\t\t\t}\n\n\t\t\t\tobserver = new MutationObserver( sendResize );\n\t\t\t\tobserver.observe( document.body, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeOldValue: false,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t\tcharacterDataOldValue: false,\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t} );\n\n\t\t\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t\t\t// the iframe root and interfere with our mechanism for\n\t\t\t\t// determining the unconstrained page bounds.\n\t\t\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\t\t\tif ( /^\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\t\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t\t\t} );\n\n\t\t\t\tdocument.body.style.position = 'absolute';\n\t\t\t\tdocument.body.style.width = '100%';\n\t\t\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\t\t\tsendResize();\n\n\t\t\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\t\t\twindow.addEventListener( 'resize', sendResize, true );\n\t\t} )();";
var style = "\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\thtml,\n\t\t\tbody,\n\t\t\tbody > div,\n\t\t\tbody > div > iframe {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\thtml.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio > div,\n\t\t\tbody.wp-has-aspect-ratio > div > iframe {\n\t\t\t\theight: 100%;\n\t\t\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t\t\t}\n\t\t\tbody > div > * {\n\t\t\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t}\n\t\t"; // put the html snippet into a html document, and then write it to the iframe's document
// we can use this in the future to inject custom styles or scripts.
// Scripts go into the body rather than the head, to support embedded content such as Instagram
// that expect the scripts to be part of the body.
var htmlDoc = Object(external_this_wp_element_["createElement"])("html", {
lang: document.documentElement.lang,
className: this.props.type
}, Object(external_this_wp_element_["createElement"])("head", null, Object(external_this_wp_element_["createElement"])("title", null, this.props.title), Object(external_this_wp_element_["createElement"])("style", {
dangerouslySetInnerHTML: {
__html: style
}
}), this.props.styles && this.props.styles.map(function (rules, i) {
return Object(external_this_wp_element_["createElement"])("style", {
key: i,
dangerouslySetInnerHTML: {
__html: rules
}
});
})), Object(external_this_wp_element_["createElement"])("body", {
"data-resizable-iframe-connected": "data-resizable-iframe-connected",
className: this.props.type
}, Object(external_this_wp_element_["createElement"])("div", {
dangerouslySetInnerHTML: {
__html: this.props.html
}
}), Object(external_this_wp_element_["createElement"])("script", {
type: "text/javascript",
dangerouslySetInnerHTML: {
__html: observeAndResizeJS
}
}), this.props.scripts && this.props.scripts.map(function (src) {
return Object(external_this_wp_element_["createElement"])("script", {
key: src,
src: src
});
}))); // writing the document like this makes it act in the same way as if it was
// loaded over the network, so DOM creation and mutation, script execution, etc.
// all work as expected
var iframeDocument = this.iframe.current.contentWindow.document;
iframeDocument.open();
iframeDocument.write('' + Object(external_this_wp_element_["renderToString"])(htmlDoc));
iframeDocument.close();
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
title = _this$props.title,
onFocus = _this$props.onFocus;
return Object(external_this_wp_element_["createElement"])(focusable_iframe, {
iframeRef: this.iframe,
title: title,
className: "components-sandbox",
sandbox: "allow-scripts allow-same-origin allow-presentation",
onLoad: this.trySandbox,
onFocus: onFocus,
width: Math.ceil(this.state.width),
height: Math.ceil(this.state.height)
});
}
}], [{
key: "defaultProps",
get: function get() {
return {
html: '',
title: ''
};
}
}]);
return Sandbox;
}(external_this_wp_element_["Component"]);
sandbox_Sandbox = Object(external_this_wp_compose_["withGlobalEvents"])({
message: 'checkMessageForResize'
})(sandbox_Sandbox);
/* harmony default export */ var sandbox = (sandbox_Sandbox);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/snackbar/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var NOTICE_TIMEOUT = 10000;
function Snackbar(_ref, ref) {
var className = _ref.className,
children = _ref.children,
_ref$actions = _ref.actions,
actions = _ref$actions === void 0 ? [] : _ref$actions,
_ref$onRemove = _ref.onRemove,
onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove;
Object(external_this_wp_element_["useEffect"])(function () {
var timeoutHandle = setTimeout(function () {
onRemove();
}, NOTICE_TIMEOUT);
return function () {
return clearTimeout(timeoutHandle);
};
}, []);
var classes = classnames_default()(className, 'components-snackbar');
if (actions && actions.length > 1) {
// we need to inform developers that snackbar only accepts 1 action
// eslint-disable-next-line no-console
console.warn('Snackbar can only have 1 action, use Notice if your message require many messages'); // return first element only while keeping it inside an array
actions = [actions[0]];
}
return Object(external_this_wp_element_["createElement"])("div", {
ref: ref,
className: classes,
onClick: onRemove,
tabIndex: "0",
role: "button",
onKeyPress: onRemove,
label: Object(external_this_wp_i18n_["__"])('Dismiss this notice')
}, Object(external_this_wp_element_["createElement"])("div", {
className: "components-snackbar__content"
}, children, actions.map(function (_ref2, index) {
var label = _ref2.label,
_onClick = _ref2.onClick,
url = _ref2.url;
return Object(external_this_wp_element_["createElement"])(build_module_button, {
key: index,
href: url,
isTertiary: true,
onClick: function onClick(event) {
event.stopPropagation();
if (_onClick) {
_onClick(event);
}
},
className: "components-snackbar__action"
}, label);
})));
}
/* harmony default export */ var snackbar = (Object(external_this_wp_element_["forwardRef"])(Snackbar));
// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
var regenerator = __webpack_require__(20);
var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(43);
// EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js
var web_cjs = __webpack_require__(64);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/snackbar/list.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Renders a list of notices.
*
* @param {Object} $0 Props passed to the component.
* @param {Array} $0.notices Array of notices to render.
* @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
* @param {Object} $0.className Name of the class used by the component.
* @param {Object} $0.children Array of children to be rendered inside the notice list.
* @return {Object} The rendered notices list.
*/
function SnackbarList(_ref) {
var notices = _ref.notices,
className = _ref.className,
children = _ref.children,
_ref$onRemove = _ref.onRemove,
onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove;
var isReducedMotion = Object(external_this_wp_compose_["useReducedMotion"])();
var _useState = Object(external_this_wp_element_["useState"])(function () {
return new WeakMap();
}),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 1),
refMap = _useState2[0];
var transitions = Object(web_cjs["useTransition"])(notices, function (notice) {
return notice.id;
}, {
from: {
opacity: 0,
height: 0
},
enter: function enter(item) {
return (
/*#__PURE__*/
function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])(
/*#__PURE__*/
regenerator_default.a.mark(function _callee(next) {
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return next({
opacity: 1,
height: refMap.get(item).offsetHeight
});
case 2:
return _context.abrupt("return", _context.sent);
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function (_x) {
return _ref2.apply(this, arguments);
};
}()
);
},
leave: function leave() {
return (
/*#__PURE__*/
function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])(
/*#__PURE__*/
regenerator_default.a.mark(function _callee2(next) {
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return next({
opacity: 0
});
case 2:
_context2.next = 4;
return next({
height: 0
});
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function (_x2) {
return _ref3.apply(this, arguments);
};
}()
);
},
immediate: isReducedMotion
});
className = classnames_default()('components-snackbar-list', className);
var removeNotice = function removeNotice(notice) {
return function () {
return onRemove(notice.id);
};
};
return Object(external_this_wp_element_["createElement"])("div", {
className: className
}, children, transitions.map(function (_ref4) {
var notice = _ref4.item,
key = _ref4.key,
style = _ref4.props;
return Object(external_this_wp_element_["createElement"])(web_cjs["animated"].div, {
key: key,
style: style
}, Object(external_this_wp_element_["createElement"])("div", {
className: "components-snackbar-list__notice-container",
ref: function ref(_ref5) {
return _ref5 && refMap.set(notice, _ref5);
}
}, Object(external_this_wp_element_["createElement"])(snackbar, Object(esm_extends["a" /* default */])({}, Object(external_lodash_["omit"])(notice, ['content']), {
onRemove: removeNotice(notice)
}), notice.content)));
}));
}
/* harmony default export */ var snackbar_list = (SnackbarList);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/spinner/index.js
function Spinner() {
return Object(external_this_wp_element_["createElement"])("span", {
className: "components-spinner"
});
}
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/tab-panel/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var tab_panel_TabButton = function TabButton(_ref) {
var tabId = _ref.tabId,
onClick = _ref.onClick,
children = _ref.children,
selected = _ref.selected,
rest = Object(objectWithoutProperties["a" /* default */])(_ref, ["tabId", "onClick", "children", "selected"]);
return Object(external_this_wp_element_["createElement"])(build_module_button, Object(esm_extends["a" /* default */])({
role: "tab",
tabIndex: selected ? null : -1,
"aria-selected": selected,
id: tabId,
onClick: onClick
}, rest), children);
};
var tab_panel_TabPanel =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(TabPanel, _Component);
function TabPanel() {
var _this;
Object(classCallCheck["a" /* default */])(this, TabPanel);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(TabPanel).apply(this, arguments));
var _this$props = _this.props,
tabs = _this$props.tabs,
initialTabName = _this$props.initialTabName;
_this.handleClick = _this.handleClick.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.onNavigate = _this.onNavigate.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.state = {
selected: initialTabName || (tabs.length > 0 ? tabs[0].name : null)
};
return _this;
}
Object(createClass["a" /* default */])(TabPanel, [{
key: "handleClick",
value: function handleClick(tabKey) {
var _this$props$onSelect = this.props.onSelect,
onSelect = _this$props$onSelect === void 0 ? external_lodash_["noop"] : _this$props$onSelect;
this.setState({
selected: tabKey
});
onSelect(tabKey);
}
}, {
key: "onNavigate",
value: function onNavigate(childIndex, child) {
child.click();
}
}, {
key: "render",
value: function render() {
var _this2 = this;
var selected = this.state.selected;
var _this$props2 = this.props,
_this$props2$activeCl = _this$props2.activeClass,
activeClass = _this$props2$activeCl === void 0 ? 'is-active' : _this$props2$activeCl,
className = _this$props2.className,
instanceId = _this$props2.instanceId,
_this$props2$orientat = _this$props2.orientation,
orientation = _this$props2$orientat === void 0 ? 'horizontal' : _this$props2$orientat,
tabs = _this$props2.tabs;
var selectedTab = Object(external_lodash_["find"])(tabs, {
name: selected
});
var selectedId = instanceId + '-' + selectedTab.name;
return Object(external_this_wp_element_["createElement"])("div", {
className: className
}, Object(external_this_wp_element_["createElement"])(menu, {
role: "tablist",
orientation: orientation,
onNavigate: this.onNavigate,
className: "components-tab-panel__tabs"
}, tabs.map(function (tab) {
return Object(external_this_wp_element_["createElement"])(tab_panel_TabButton, {
className: classnames_default()(tab.className, Object(defineProperty["a" /* default */])({}, activeClass, tab.name === selected)),
tabId: instanceId + '-' + tab.name,
"aria-controls": instanceId + '-' + tab.name + '-view',
selected: tab.name === selected,
key: tab.name,
onClick: Object(external_lodash_["partial"])(_this2.handleClick, tab.name)
}, tab.title);
})), selectedTab && Object(external_this_wp_element_["createElement"])("div", {
"aria-labelledby": selectedId,
role: "tabpanel",
id: selectedId + '-view',
className: "components-tab-panel__tab-content",
tabIndex: "0"
}, this.props.children(selectedTab)));
}
}]);
return TabPanel;
}(external_this_wp_element_["Component"]);
/* harmony default export */ var tab_panel = (Object(external_this_wp_compose_["withInstanceId"])(tab_panel_TabPanel));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/textarea-control/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function TextareaControl(_ref) {
var label = _ref.label,
hideLabelFromVision = _ref.hideLabelFromVision,
value = _ref.value,
help = _ref.help,
instanceId = _ref.instanceId,
onChange = _ref.onChange,
_ref$rows = _ref.rows,
rows = _ref$rows === void 0 ? 4 : _ref$rows,
className = _ref.className,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["label", "hideLabelFromVision", "value", "help", "instanceId", "onChange", "rows", "className"]);
var id = "inspector-textarea-control-".concat(instanceId);
var onChangeValue = function onChangeValue(event) {
return onChange(event.target.value);
};
return Object(external_this_wp_element_["createElement"])(base_control, {
label: label,
hideLabelFromVision: hideLabelFromVision,
id: id,
help: help,
className: className
}, Object(external_this_wp_element_["createElement"])("textarea", Object(esm_extends["a" /* default */])({
className: "components-textarea-control__input",
id: id,
rows: rows,
onChange: onChangeValue,
"aria-describedby": !!help ? id + '__help' : undefined,
value: value
}, props)));
}
/* harmony default export */ var textarea_control = (Object(external_this_wp_compose_["withInstanceId"])(TextareaControl));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/tip/index.js
/**
* Internal dependencies
*/
function Tip(props) {
return Object(external_this_wp_element_["createElement"])("div", {
className: "components-tip"
}, Object(external_this_wp_element_["createElement"])(svg_SVG, {
width: "24",
height: "24",
viewBox: "0 0 24 24"
}, Object(external_this_wp_element_["createElement"])(svg_Path, {
d: "M20.45 4.91L19.04 3.5l-1.79 1.8 1.41 1.41 1.79-1.8zM13 4h-2V1h2v3zm10 9h-3v-2h3v2zm-12 6.95v-3.96l-1-.58c-1.24-.72-2-2.04-2-3.46 0-2.21 1.79-4 4-4s4 1.79 4 4c0 1.42-.77 2.74-2 3.46l-1 .58v3.96h-2zm-2 2h6v-4.81c1.79-1.04 3-2.97 3-5.19 0-3.31-2.69-6-6-6s-6 2.69-6 6c0 2.22 1.21 4.15 3 5.19v4.81zM4 13H1v-2h3v2zm2.76-7.71l-1.79-1.8L3.56 4.9l1.8 1.79 1.4-1.4z"
})), Object(external_this_wp_element_["createElement"])("p", null, props.children));
}
/* harmony default export */ var tip = (Tip);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-control/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
var toggle_control_ToggleControl =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(ToggleControl, _Component);
function ToggleControl() {
var _this;
Object(classCallCheck["a" /* default */])(this, ToggleControl);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ToggleControl).apply(this, arguments));
_this.onChange = _this.onChange.bind(Object(assertThisInitialized["a" /* default */])(_this));
return _this;
}
Object(createClass["a" /* default */])(ToggleControl, [{
key: "onChange",
value: function onChange(event) {
if (this.props.onChange) {
this.props.onChange(event.target.checked);
}
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
label = _this$props.label,
checked = _this$props.checked,
help = _this$props.help,
instanceId = _this$props.instanceId,
className = _this$props.className;
var id = "inspector-toggle-control-".concat(instanceId);
var describedBy, helpLabel;
if (help) {
describedBy = id + '__help';
helpLabel = Object(external_lodash_["isFunction"])(help) ? help(checked) : help;
}
return Object(external_this_wp_element_["createElement"])(base_control, {
id: id,
help: helpLabel,
className: classnames_default()('components-toggle-control', className)
}, Object(external_this_wp_element_["createElement"])(form_toggle, {
id: id,
checked: checked,
onChange: this.onChange,
"aria-describedby": describedBy
}), Object(external_this_wp_element_["createElement"])("label", {
htmlFor: id,
className: "components-toggle-control__label"
}, label));
}
}]);
return ToggleControl;
}(external_this_wp_element_["Component"]);
/* harmony default export */ var toggle_control = (Object(external_this_wp_compose_["withInstanceId"])(toggle_control_ToggleControl));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toolbar-button/toolbar-button-container.js
var toolbar_button_container_ToolbarButtonContainer = function ToolbarButtonContainer(props) {
return Object(external_this_wp_element_["createElement"])("div", {
className: props.className
}, props.children);
};
/* harmony default export */ var toolbar_button_container = (toolbar_button_container_ToolbarButtonContainer);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toolbar-button/index.js
/**
* External dependencies
*/
/**
* Internal dependencies
*/
function ToolbarButton(_ref) {
var containerClassName = _ref.containerClassName,
icon = _ref.icon,
title = _ref.title,
shortcut = _ref.shortcut,
subscript = _ref.subscript,
_onClick = _ref.onClick,
className = _ref.className,
isActive = _ref.isActive,
isDisabled = _ref.isDisabled,
extraProps = _ref.extraProps,
children = _ref.children;
return Object(external_this_wp_element_["createElement"])(toolbar_button_container, {
className: containerClassName
}, Object(external_this_wp_element_["createElement"])(icon_button, Object(esm_extends["a" /* default */])({
icon: icon,
label: title,
shortcut: shortcut,
"data-subscript": subscript,
onClick: function onClick(event) {
event.stopPropagation();
_onClick();
},
className: classnames_default()('components-toolbar__control', className, {
'is-active': isActive
}),
"aria-pressed": isActive,
disabled: isDisabled
}, extraProps)), children);
}
/* harmony default export */ var toolbar_button = (ToolbarButton);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toolbar/toolbar-container.js
var toolbar_container_ToolbarContainer = function ToolbarContainer(props) {
return Object(external_this_wp_element_["createElement"])("div", {
className: props.className
}, props.children);
};
/* harmony default export */ var toolbar_container = (toolbar_container_ToolbarContainer);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toolbar/index.js
/**
* External dependencies
*/
/**
* Internal dependencies
*/
/**
* Renders a toolbar with controls.
*
* The `controls` prop accepts an array of sets. A set is an array of controls.
* Controls have the following shape:
*
* ```
* {
* icon: string,
* title: string,
* subscript: string,
* onClick: Function,
* isActive: boolean,
* isDisabled: boolean
* }
* ```
*
* For convenience it is also possible to pass only an array of controls. It is
* then assumed this is the only set.
*
* Either `controls` or `children` is required, otherwise this components
* renders nothing.
*
* @param {Object} props
* @param {Array} [props.controls] The controls to render in this toolbar.
* @param {ReactElement} [props.children] Any other things to render inside the
* toolbar besides the controls.
* @param {string} [props.className] Class to set on the container div.
*
* @return {ReactElement} The rendered toolbar.
*/
function Toolbar(_ref) {
var _ref$controls = _ref.controls,
controls = _ref$controls === void 0 ? [] : _ref$controls,
children = _ref.children,
className = _ref.className,
isCollapsed = _ref.isCollapsed,
icon = _ref.icon,
label = _ref.label,
otherProps = Object(objectWithoutProperties["a" /* default */])(_ref, ["controls", "children", "className", "isCollapsed", "icon", "label"]);
if ((!controls || !controls.length) && !children) {
return null;
} // Normalize controls to nested array of objects (sets of controls)
var controlSets = controls;
if (!Array.isArray(controlSets[0])) {
controlSets = [controlSets];
}
if (isCollapsed) {
return Object(external_this_wp_element_["createElement"])(dropdown_menu, {
hasArrowIndicator: true,
icon: icon,
label: label,
controls: controlSets,
className: classnames_default()('components-toolbar', className)
});
}
return Object(external_this_wp_element_["createElement"])(toolbar_container, Object(esm_extends["a" /* default */])({
className: classnames_default()('components-toolbar', className)
}, otherProps), Object(external_lodash_["flatMap"])(controlSets, function (controlSet, indexOfSet) {
return controlSet.map(function (control, indexOfControl) {
return Object(external_this_wp_element_["createElement"])(toolbar_button, Object(esm_extends["a" /* default */])({
key: [indexOfSet, indexOfControl].join(),
containerClassName: indexOfSet > 0 && indexOfControl === 0 ? 'has-left-divider' : null
}, control));
});
}), children);
}
/* harmony default export */ var toolbar = (Toolbar);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/navigate-regions/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/* harmony default export */ var navigate_regions = (Object(external_this_wp_compose_["createHigherOrderComponent"])(function (WrappedComponent) {
return (
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(_class, _Component);
function _class() {
var _this;
Object(classCallCheck["a" /* default */])(this, _class);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(_class).apply(this, arguments));
_this.bindContainer = _this.bindContainer.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.focusNextRegion = _this.focusRegion.bind(Object(assertThisInitialized["a" /* default */])(_this), 1);
_this.focusPreviousRegion = _this.focusRegion.bind(Object(assertThisInitialized["a" /* default */])(_this), -1);
_this.onClick = _this.onClick.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.state = {
isFocusingRegions: false
};
return _this;
}
Object(createClass["a" /* default */])(_class, [{
key: "bindContainer",
value: function bindContainer(ref) {
this.container = ref;
}
}, {
key: "focusRegion",
value: function focusRegion(offset) {
var regions = Object(toConsumableArray["a" /* default */])(this.container.querySelectorAll('[role="region"]'));
if (!regions.length) {
return;
}
var nextRegion = regions[0];
var selectedIndex = regions.indexOf(document.activeElement);
if (selectedIndex !== -1) {
var nextIndex = selectedIndex + offset;
nextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;
nextIndex = nextIndex === regions.length ? 0 : nextIndex;
nextRegion = regions[nextIndex];
}
nextRegion.focus();
this.setState({
isFocusingRegions: true
});
}
}, {
key: "onClick",
value: function onClick() {
this.setState({
isFocusingRegions: false
});
}
}, {
key: "render",
value: function render() {
var _ref;
var className = classnames_default()('components-navigate-regions', {
'is-focusing-regions': this.state.isFocusingRegions
}); // Disable reason: Clicking the editor should dismiss the regions focus style
/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
return Object(external_this_wp_element_["createElement"])("div", {
ref: this.bindContainer,
className: className,
onClick: this.onClick
}, Object(external_this_wp_element_["createElement"])(keyboard_shortcuts, {
bindGlobal: true,
shortcuts: (_ref = {
'ctrl+`': this.focusNextRegion
}, Object(defineProperty["a" /* default */])(_ref, external_this_wp_keycodes_["rawShortcut"].access('n'), this.focusNextRegion), Object(defineProperty["a" /* default */])(_ref, 'ctrl+shift+`', this.focusPreviousRegion), Object(defineProperty["a" /* default */])(_ref, external_this_wp_keycodes_["rawShortcut"].access('p'), this.focusPreviousRegion), _ref)
}), Object(external_this_wp_element_["createElement"])(WrappedComponent, this.props));
/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
}
}]);
return _class;
}(external_this_wp_element_["Component"])
);
}, 'navigateRegions'));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-fallback-styles/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/* harmony default export */ var with_fallback_styles = (function (mapNodeToProps) {
return Object(external_this_wp_compose_["createHigherOrderComponent"])(function (WrappedComponent) {
return (
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(_class, _Component);
function _class() {
var _this;
Object(classCallCheck["a" /* default */])(this, _class);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(_class).apply(this, arguments));
_this.nodeRef = _this.props.node;
_this.state = {
fallbackStyles: undefined,
grabStylesCompleted: false
};
_this.bindRef = _this.bindRef.bind(Object(assertThisInitialized["a" /* default */])(_this));
return _this;
}
Object(createClass["a" /* default */])(_class, [{
key: "bindRef",
value: function bindRef(node) {
if (!node) {
return;
}
this.nodeRef = node;
}
}, {
key: "componentDidMount",
value: function componentDidMount() {
this.grabFallbackStyles();
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
this.grabFallbackStyles();
}
}, {
key: "grabFallbackStyles",
value: function grabFallbackStyles() {
var _this$state = this.state,
grabStylesCompleted = _this$state.grabStylesCompleted,
fallbackStyles = _this$state.fallbackStyles;
if (this.nodeRef && !grabStylesCompleted) {
var newFallbackStyles = mapNodeToProps(this.nodeRef, this.props);
if (!Object(external_lodash_["isEqual"])(newFallbackStyles, fallbackStyles)) {
this.setState({
fallbackStyles: newFallbackStyles,
grabStylesCompleted: !!Object(external_lodash_["every"])(newFallbackStyles)
});
}
}
}
}, {
key: "render",
value: function render() {
var wrappedComponent = Object(external_this_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, this.props, this.state.fallbackStyles));
return this.props.node ? wrappedComponent : Object(external_this_wp_element_["createElement"])("div", {
ref: this.bindRef
}, " ", wrappedComponent, " ");
}
}]);
return _class;
}(external_this_wp_element_["Component"])
);
}, 'withFallbackStyles');
});
// EXTERNAL MODULE: external {"this":["wp","hooks"]}
var external_this_wp_hooks_ = __webpack_require__(27);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-filters/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
var ANIMATION_FRAME_PERIOD = 16;
/**
* Creates a higher-order component which adds filtering capability to the
* wrapped component. Filters get applied when the original component is about
* to be mounted. When a filter is added or removed that matches the hook name,
* the wrapped component re-renders.
*
* @param {string} hookName Hook name exposed to be used by filters.
*
* @return {Function} Higher-order component factory.
*/
function withFilters(hookName) {
return Object(external_this_wp_compose_["createHigherOrderComponent"])(function (OriginalComponent) {
var namespace = 'core/with-filters/' + hookName;
/**
* The component definition with current filters applied. Each instance
* reuse this shared reference as an optimization to avoid excessive
* calls to `applyFilters` when many instances exist.
*
* @type {?Component}
*/
var FilteredComponent;
/**
* Initializes the FilteredComponent variable once, if not already
* assigned. Subsequent calls are effectively a noop.
*/
function ensureFilteredComponent() {
if (FilteredComponent === undefined) {
FilteredComponent = Object(external_this_wp_hooks_["applyFilters"])(hookName, OriginalComponent);
}
}
var FilteredComponentRenderer =
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(FilteredComponentRenderer, _Component);
function FilteredComponentRenderer() {
var _this;
Object(classCallCheck["a" /* default */])(this, FilteredComponentRenderer);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FilteredComponentRenderer).apply(this, arguments));
ensureFilteredComponent();
return _this;
}
Object(createClass["a" /* default */])(FilteredComponentRenderer, [{
key: "componentDidMount",
value: function componentDidMount() {
FilteredComponentRenderer.instances.push(this); // If there were previously no mounted instances for components
// filtered on this hook, add the hook handler.
if (FilteredComponentRenderer.instances.length === 1) {
Object(external_this_wp_hooks_["addAction"])('hookRemoved', namespace, onHooksUpdated);
Object(external_this_wp_hooks_["addAction"])('hookAdded', namespace, onHooksUpdated);
}
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
FilteredComponentRenderer.instances = Object(external_lodash_["without"])(FilteredComponentRenderer.instances, this); // If this was the last of the mounted components filtered on
// this hook, remove the hook handler.
if (FilteredComponentRenderer.instances.length === 0) {
Object(external_this_wp_hooks_["removeAction"])('hookRemoved', namespace);
Object(external_this_wp_hooks_["removeAction"])('hookAdded', namespace);
}
}
}, {
key: "render",
value: function render() {
return Object(external_this_wp_element_["createElement"])(FilteredComponent, this.props);
}
}]);
return FilteredComponentRenderer;
}(external_this_wp_element_["Component"]);
FilteredComponentRenderer.instances = [];
/**
* Updates the FilteredComponent definition, forcing a render for each
* mounted instance. This occurs a maximum of once per animation frame.
*/
var throttledForceUpdate = Object(external_lodash_["debounce"])(function () {
// Recreate the filtered component, only after delay so that it's
// computed once, even if many filters added.
FilteredComponent = Object(external_this_wp_hooks_["applyFilters"])(hookName, OriginalComponent); // Force each instance to render.
FilteredComponentRenderer.instances.forEach(function (instance) {
instance.forceUpdate();
});
}, ANIMATION_FRAME_PERIOD);
/**
* When a filter is added or removed for the matching hook name, each
* mounted instance should re-render with the new filters having been
* applied to the original component.
*
* @param {string} updatedHookName Name of the hook that was updated.
*/
function onHooksUpdated(updatedHookName) {
if (updatedHookName === hookName) {
throttledForceUpdate();
}
}
return FilteredComponentRenderer;
}, 'withFilters');
}
// EXTERNAL MODULE: ./node_modules/uuid/v4.js
var v4 = __webpack_require__(67);
var v4_default = /*#__PURE__*/__webpack_require__.n(v4);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-notices/index.js
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Override the default edit UI to include notices if supported.
*
* @param {Function|Component} OriginalComponent Original component.
* @return {Component} Wrapped component.
*/
/* harmony default export */ var with_notices = (Object(external_this_wp_compose_["createHigherOrderComponent"])(function (OriginalComponent) {
return (
/*#__PURE__*/
function (_Component) {
Object(inherits["a" /* default */])(WrappedBlockEdit, _Component);
function WrappedBlockEdit() {
var _this;
Object(classCallCheck["a" /* default */])(this, WrappedBlockEdit);
_this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(WrappedBlockEdit).apply(this, arguments));
_this.createNotice = _this.createNotice.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.createErrorNotice = _this.createErrorNotice.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.removeNotice = _this.removeNotice.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.removeAllNotices = _this.removeAllNotices.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.state = {
noticeList: []
};
_this.noticeOperations = {
createNotice: _this.createNotice,
createErrorNotice: _this.createErrorNotice,
removeAllNotices: _this.removeAllNotices,
removeNotice: _this.removeNotice
};
return _this;
}
/**
* Function passed down as a prop that adds a new notice.
*
* @param {Object} notice Notice to add.
*/
Object(createClass["a" /* default */])(WrappedBlockEdit, [{
key: "createNotice",
value: function createNotice(notice) {
var noticeToAdd = notice.id ? notice : Object(objectSpread["a" /* default */])({}, notice, {
id: v4_default()()
});
this.setState(function (state) {
return {
noticeList: [].concat(Object(toConsumableArray["a" /* default */])(state.noticeList), [noticeToAdd])
};
});
}
/**
* Function passed as a prop that adds a new error notice.
*
* @param {string} msg Error message of the notice.
*/
}, {
key: "createErrorNotice",
value: function createErrorNotice(msg) {
this.createNotice({
status: 'error',
content: msg
});
}
/**
* Removes a notice by id.
*
* @param {string} id Id of the notice to remove.
*/
}, {
key: "removeNotice",
value: function removeNotice(id) {
this.setState(function (state) {
return {
noticeList: state.noticeList.filter(function (notice) {
return notice.id !== id;
})
};
});
}
/**
* Removes all notices
*/
}, {
key: "removeAllNotices",
value: function removeAllNotices() {
this.setState({
noticeList: []
});
}
}, {
key: "render",
value: function render() {
return Object(external_this_wp_element_["createElement"])(OriginalComponent, Object(esm_extends["a" /* default */])({
noticeList: this.state.noticeList,
noticeOperations: this.noticeOperations,
noticeUI: this.state.noticeList.length > 0 && Object(external_this_wp_element_["createElement"])(list, {
className: "components-with-notices-ui",
notices: this.state.noticeList,
onRemove: this.removeNotice
})
}, this.props));
}
}]);
return WrappedBlockEdit;
}(external_this_wp_element_["Component"])
);
}));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/index.js
/* concated harmony reexport Circle */__webpack_require__.d(__webpack_exports__, "Circle", function() { return svg_Circle; });
/* concated harmony reexport G */__webpack_require__.d(__webpack_exports__, "G", function() { return svg_G; });
/* concated harmony reexport Path */__webpack_require__.d(__webpack_exports__, "Path", function() { return svg_Path; });
/* concated harmony reexport Polygon */__webpack_require__.d(__webpack_exports__, "Polygon", function() { return svg_Polygon; });
/* concated harmony reexport Rect */__webpack_require__.d(__webpack_exports__, "Rect", function() { return svg_Rect; });
/* concated harmony reexport SVG */__webpack_require__.d(__webpack_exports__, "SVG", function() { return svg_SVG; });
/* concated harmony reexport HorizontalRule */__webpack_require__.d(__webpack_exports__, "HorizontalRule", function() { return HorizontalRule; });
/* concated harmony reexport BlockQuotation */__webpack_require__.d(__webpack_exports__, "BlockQuotation", function() { return BlockQuotation; });
/* concated harmony reexport Animate */__webpack_require__.d(__webpack_exports__, "Animate", function() { return build_module_animate; });
/* concated harmony reexport Autocomplete */__webpack_require__.d(__webpack_exports__, "Autocomplete", function() { return autocomplete; });
/* concated harmony reexport BaseControl */__webpack_require__.d(__webpack_exports__, "BaseControl", function() { return base_control; });
/* concated harmony reexport Button */__webpack_require__.d(__webpack_exports__, "Button", function() { return build_module_button; });
/* concated harmony reexport ButtonGroup */__webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return button_group; });
/* concated harmony reexport CheckboxControl */__webpack_require__.d(__webpack_exports__, "CheckboxControl", function() { return checkbox_control; });
/* concated harmony reexport ClipboardButton */__webpack_require__.d(__webpack_exports__, "ClipboardButton", function() { return clipboard_button; });
/* concated harmony reexport ColorIndicator */__webpack_require__.d(__webpack_exports__, "ColorIndicator", function() { return color_indicator; });
/* concated harmony reexport ColorPalette */__webpack_require__.d(__webpack_exports__, "ColorPalette", function() { return ColorPalette; });
/* concated harmony reexport ColorPicker */__webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return color_picker_ColorPicker; });
/* concated harmony reexport Dashicon */__webpack_require__.d(__webpack_exports__, "Dashicon", function() { return dashicon_Dashicon; });
/* concated harmony reexport DateTimePicker */__webpack_require__.d(__webpack_exports__, "DateTimePicker", function() { return date_time_DateTimePicker; });
/* concated harmony reexport DatePicker */__webpack_require__.d(__webpack_exports__, "DatePicker", function() { return date_time_date; });
/* concated harmony reexport TimePicker */__webpack_require__.d(__webpack_exports__, "TimePicker", function() { return time; });
/* concated harmony reexport Disabled */__webpack_require__.d(__webpack_exports__, "Disabled", function() { return build_module_disabled; });
/* concated harmony reexport Draggable */__webpack_require__.d(__webpack_exports__, "Draggable", function() { return draggable; });
/* concated harmony reexport DropZone */__webpack_require__.d(__webpack_exports__, "DropZone", function() { return drop_zone; });
/* concated harmony reexport DropZoneProvider */__webpack_require__.d(__webpack_exports__, "DropZoneProvider", function() { return provider; });
/* concated harmony reexport Dropdown */__webpack_require__.d(__webpack_exports__, "Dropdown", function() { return dropdown; });
/* concated harmony reexport DropdownMenu */__webpack_require__.d(__webpack_exports__, "DropdownMenu", function() { return dropdown_menu; });
/* concated harmony reexport ExternalLink */__webpack_require__.d(__webpack_exports__, "ExternalLink", function() { return external_link; });
/* concated harmony reexport FocalPointPicker */__webpack_require__.d(__webpack_exports__, "FocalPointPicker", function() { return focal_point_picker; });
/* concated harmony reexport FocusableIframe */__webpack_require__.d(__webpack_exports__, "FocusableIframe", function() { return focusable_iframe; });
/* concated harmony reexport FontSizePicker */__webpack_require__.d(__webpack_exports__, "FontSizePicker", function() { return font_size_picker; });
/* concated harmony reexport FormFileUpload */__webpack_require__.d(__webpack_exports__, "FormFileUpload", function() { return form_file_upload; });
/* concated harmony reexport FormToggle */__webpack_require__.d(__webpack_exports__, "FormToggle", function() { return form_toggle; });
/* concated harmony reexport FormTokenField */__webpack_require__.d(__webpack_exports__, "FormTokenField", function() { return form_token_field; });
/* concated harmony reexport Icon */__webpack_require__.d(__webpack_exports__, "Icon", function() { return build_module_icon; });
/* concated harmony reexport IconButton */__webpack_require__.d(__webpack_exports__, "IconButton", function() { return icon_button; });
/* concated harmony reexport KeyboardShortcuts */__webpack_require__.d(__webpack_exports__, "KeyboardShortcuts", function() { return keyboard_shortcuts; });
/* concated harmony reexport MenuGroup */__webpack_require__.d(__webpack_exports__, "MenuGroup", function() { return menu_group; });
/* concated harmony reexport MenuItem */__webpack_require__.d(__webpack_exports__, "MenuItem", function() { return menu_item; });
/* concated harmony reexport MenuItemsChoice */__webpack_require__.d(__webpack_exports__, "MenuItemsChoice", function() { return MenuItemsChoice; });
/* concated harmony reexport Modal */__webpack_require__.d(__webpack_exports__, "Modal", function() { return modal; });
/* concated harmony reexport ScrollLock */__webpack_require__.d(__webpack_exports__, "ScrollLock", function() { return scroll_lock; });
/* concated harmony reexport NavigableMenu */__webpack_require__.d(__webpack_exports__, "NavigableMenu", function() { return menu; });
/* concated harmony reexport TabbableContainer */__webpack_require__.d(__webpack_exports__, "TabbableContainer", function() { return tabbable; });
/* concated harmony reexport Notice */__webpack_require__.d(__webpack_exports__, "Notice", function() { return build_module_notice; });
/* concated harmony reexport NoticeList */__webpack_require__.d(__webpack_exports__, "NoticeList", function() { return list; });
/* concated harmony reexport Panel */__webpack_require__.d(__webpack_exports__, "Panel", function() { return panel; });
/* concated harmony reexport PanelBody */__webpack_require__.d(__webpack_exports__, "PanelBody", function() { return panel_body; });
/* concated harmony reexport PanelHeader */__webpack_require__.d(__webpack_exports__, "PanelHeader", function() { return panel_header; });
/* concated harmony reexport PanelRow */__webpack_require__.d(__webpack_exports__, "PanelRow", function() { return row; });
/* concated harmony reexport Placeholder */__webpack_require__.d(__webpack_exports__, "Placeholder", function() { return placeholder; });
/* concated harmony reexport Popover */__webpack_require__.d(__webpack_exports__, "Popover", function() { return popover; });
/* concated harmony reexport QueryControls */__webpack_require__.d(__webpack_exports__, "QueryControls", function() { return QueryControls; });
/* concated harmony reexport RadioControl */__webpack_require__.d(__webpack_exports__, "RadioControl", function() { return radio_control; });
/* concated harmony reexport RangeControl */__webpack_require__.d(__webpack_exports__, "RangeControl", function() { return range_control; });
/* concated harmony reexport ResizableBox */__webpack_require__.d(__webpack_exports__, "ResizableBox", function() { return resizable_box; });
/* concated harmony reexport ResponsiveWrapper */__webpack_require__.d(__webpack_exports__, "ResponsiveWrapper", function() { return responsive_wrapper; });
/* concated harmony reexport SandBox */__webpack_require__.d(__webpack_exports__, "SandBox", function() { return sandbox; });
/* concated harmony reexport SelectControl */__webpack_require__.d(__webpack_exports__, "SelectControl", function() { return select_control; });
/* concated harmony reexport Snackbar */__webpack_require__.d(__webpack_exports__, "Snackbar", function() { return snackbar; });
/* concated harmony reexport SnackbarList */__webpack_require__.d(__webpack_exports__, "SnackbarList", function() { return snackbar_list; });
/* concated harmony reexport Spinner */__webpack_require__.d(__webpack_exports__, "Spinner", function() { return Spinner; });
/* concated harmony reexport TabPanel */__webpack_require__.d(__webpack_exports__, "TabPanel", function() { return tab_panel; });
/* concated harmony reexport TextControl */__webpack_require__.d(__webpack_exports__, "TextControl", function() { return text_control; });
/* concated harmony reexport TextareaControl */__webpack_require__.d(__webpack_exports__, "TextareaControl", function() { return textarea_control; });
/* concated harmony reexport Tip */__webpack_require__.d(__webpack_exports__, "Tip", function() { return tip; });
/* concated harmony reexport ToggleControl */__webpack_require__.d(__webpack_exports__, "ToggleControl", function() { return toggle_control; });
/* concated harmony reexport Toolbar */__webpack_require__.d(__webpack_exports__, "Toolbar", function() { return toolbar; });
/* concated harmony reexport ToolbarButton */__webpack_require__.d(__webpack_exports__, "ToolbarButton", function() { return toolbar_button; });
/* concated harmony reexport Tooltip */__webpack_require__.d(__webpack_exports__, "Tooltip", function() { return build_module_tooltip; });
/* concated harmony reexport TreeSelect */__webpack_require__.d(__webpack_exports__, "TreeSelect", function() { return TreeSelect; });
/* concated harmony reexport IsolatedEventContainer */__webpack_require__.d(__webpack_exports__, "IsolatedEventContainer", function() { return isolated_event_container; });
/* concated harmony reexport createSlotFill */__webpack_require__.d(__webpack_exports__, "createSlotFill", function() { return createSlotFill; });
/* concated harmony reexport Slot */__webpack_require__.d(__webpack_exports__, "Slot", function() { return slot_fill_slot; });
/* concated harmony reexport Fill */__webpack_require__.d(__webpack_exports__, "Fill", function() { return slot_fill_fill; });
/* concated harmony reexport SlotFillProvider */__webpack_require__.d(__webpack_exports__, "SlotFillProvider", function() { return slot_fill_context; });
/* concated harmony reexport navigateRegions */__webpack_require__.d(__webpack_exports__, "navigateRegions", function() { return navigate_regions; });
/* concated harmony reexport withConstrainedTabbing */__webpack_require__.d(__webpack_exports__, "withConstrainedTabbing", function() { return with_constrained_tabbing; });
/* concated harmony reexport withFallbackStyles */__webpack_require__.d(__webpack_exports__, "withFallbackStyles", function() { return with_fallback_styles; });
/* concated harmony reexport withFilters */__webpack_require__.d(__webpack_exports__, "withFilters", function() { return withFilters; });
/* concated harmony reexport withFocusOutside */__webpack_require__.d(__webpack_exports__, "withFocusOutside", function() { return with_focus_outside; });
/* concated harmony reexport withFocusReturn */__webpack_require__.d(__webpack_exports__, "withFocusReturn", function() { return with_focus_return; });
/* concated harmony reexport FocusReturnProvider */__webpack_require__.d(__webpack_exports__, "FocusReturnProvider", function() { return with_focus_return_context; });
/* concated harmony reexport withNotices */__webpack_require__.d(__webpack_exports__, "withNotices", function() { return with_notices; });
/* concated harmony reexport withSpokenMessages */__webpack_require__.d(__webpack_exports__, "withSpokenMessages", function() { return with_spoken_messages; });
// Components
// Higher-Order Components
/***/ })
/******/ ]);