1188 lines
49 KiB
JavaScript
1188 lines
49 KiB
JavaScript
"use strict";
|
|
(self["webpackChunk_woocommerce_storybook"] = self["webpackChunk_woocommerce_storybook"] || []).push([[8431],{
|
|
|
|
/***/ "../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
A: () => (/* binding */ _objectWithoutProperties)
|
|
});
|
|
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
|
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
if (source == null) return {};
|
|
var target = {};
|
|
var sourceKeys = Object.keys(source);
|
|
var key, i;
|
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
key = sourceKeys[i];
|
|
if (excluded.indexOf(key) >= 0) continue;
|
|
target[key] = source[key];
|
|
}
|
|
return target;
|
|
}
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
|
|
|
|
function _objectWithoutProperties(source, excluded) {
|
|
if (source == null) return {};
|
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
var key, i;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
key = sourceSymbolKeys[i];
|
|
if (excluded.indexOf(key) >= 0) continue;
|
|
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
target[key] = source[key];
|
|
}
|
|
}
|
|
return target;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown-menu/index.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
A: () => (/* binding */ dropdown_menu)
|
|
});
|
|
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js
|
|
var react = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js
|
|
var classnames = __webpack_require__("../../node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js");
|
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js
|
|
var lodash = __webpack_require__("../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+keycodes@3.47.0/node_modules/@wordpress/keycodes/build-module/index.js + 2 modules
|
|
var build_module = __webpack_require__("../../node_modules/.pnpm/@wordpress+keycodes@3.47.0/node_modules/@wordpress/keycodes/build-module/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+primitives@3.45.0/node_modules/@wordpress/primitives/build-module/svg/index.js
|
|
var svg = __webpack_require__("../../node_modules/.pnpm/@wordpress+primitives@3.45.0/node_modules/@wordpress/primitives/build-module/svg/index.js");
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@wordpress+icons@8.4.0/node_modules/@wordpress/icons/build-module/library/menu.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
const menu = (0,react.createElement)(svg/* SVG */.t4, {
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 24 24"
|
|
}, (0,react.createElement)(svg/* Path */.wA, {
|
|
d: "M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z"
|
|
}));
|
|
/* harmony default export */ const library_menu = (menu);
|
|
//# sourceMappingURL=menu.js.map
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/button/index.js
|
|
var build_module_button = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/button/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown/index.js
|
|
var dropdown = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/navigable-container/menu.js + 1 modules
|
|
var navigable_container_menu = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/navigable-container/menu.js");
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown-menu/index.js
|
|
|
|
|
|
// @ts-nocheck
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
function mergeProps() {
|
|
let defaultProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
const mergedProps = { ...defaultProps,
|
|
...props
|
|
};
|
|
|
|
if (props.className && defaultProps.className) {
|
|
mergedProps.className = classnames_default()(props.className, defaultProps.className);
|
|
}
|
|
|
|
return mergedProps;
|
|
}
|
|
|
|
function DropdownMenu(dropdownMenuProps) {
|
|
const {
|
|
children,
|
|
className,
|
|
controls,
|
|
icon = library_menu,
|
|
label,
|
|
popoverProps,
|
|
toggleProps,
|
|
menuProps,
|
|
disableOpenOnArrowDown = false,
|
|
text,
|
|
noIcons
|
|
} = dropdownMenuProps;
|
|
|
|
if ((0,lodash.isEmpty)(controls) && !(0,lodash.isFunction)(children)) {
|
|
return null;
|
|
} // Normalize controls to nested array of objects (sets of controls)
|
|
|
|
|
|
let controlSets;
|
|
|
|
if (!(0,lodash.isEmpty)(controls)) {
|
|
controlSets = controls;
|
|
|
|
if (!Array.isArray(controlSets[0])) {
|
|
controlSets = [controlSets];
|
|
}
|
|
}
|
|
|
|
const mergedPopoverProps = mergeProps({
|
|
className: 'components-dropdown-menu__popover'
|
|
}, popoverProps);
|
|
return (0,react.createElement)(dropdown/* default */.A, {
|
|
className: classnames_default()('components-dropdown-menu', className),
|
|
popoverProps: mergedPopoverProps,
|
|
renderToggle: _ref => {
|
|
var _toggleProps$showTool;
|
|
|
|
let {
|
|
isOpen,
|
|
onToggle
|
|
} = _ref;
|
|
|
|
const openOnArrowDown = event => {
|
|
if (disableOpenOnArrowDown) {
|
|
return;
|
|
}
|
|
|
|
if (!isOpen && event.keyCode === build_module/* DOWN */.PX) {
|
|
event.preventDefault();
|
|
onToggle();
|
|
}
|
|
};
|
|
|
|
const mergedToggleProps = mergeProps({
|
|
className: classnames_default()('components-dropdown-menu__toggle', {
|
|
'is-opened': isOpen
|
|
})
|
|
}, toggleProps);
|
|
return (0,react.createElement)(build_module_button/* default */.A, (0,esm_extends/* default */.A)({}, mergedToggleProps, {
|
|
icon: icon,
|
|
onClick: event => {
|
|
onToggle(event);
|
|
|
|
if (mergedToggleProps.onClick) {
|
|
mergedToggleProps.onClick(event);
|
|
}
|
|
},
|
|
onKeyDown: event => {
|
|
openOnArrowDown(event);
|
|
|
|
if (mergedToggleProps.onKeyDown) {
|
|
mergedToggleProps.onKeyDown(event);
|
|
}
|
|
},
|
|
"aria-haspopup": "true",
|
|
"aria-expanded": isOpen,
|
|
label: label,
|
|
text: text,
|
|
showTooltip: (_toggleProps$showTool = toggleProps === null || toggleProps === void 0 ? void 0 : toggleProps.showTooltip) !== null && _toggleProps$showTool !== void 0 ? _toggleProps$showTool : true
|
|
}), mergedToggleProps.children);
|
|
},
|
|
renderContent: props => {
|
|
const mergedMenuProps = mergeProps({
|
|
'aria-label': label,
|
|
className: classnames_default()('components-dropdown-menu__menu', {
|
|
'no-icons': noIcons
|
|
})
|
|
}, menuProps);
|
|
return (0,react.createElement)(navigable_container_menu/* default */.A, (0,esm_extends/* default */.A)({}, mergedMenuProps, {
|
|
role: "menu"
|
|
}), (0,lodash.isFunction)(children) ? children(props) : null, (0,lodash.flatMap)(controlSets, (controlSet, indexOfSet) => controlSet.map((control, indexOfControl) => (0,react.createElement)(build_module_button/* default */.A, {
|
|
key: [indexOfSet, indexOfControl].join(),
|
|
onClick: event => {
|
|
event.stopPropagation();
|
|
props.onClose();
|
|
|
|
if (control.onClick) {
|
|
control.onClick();
|
|
}
|
|
},
|
|
className: classnames_default()('components-dropdown-menu__menu-item', {
|
|
'has-separator': indexOfSet > 0 && indexOfControl === 0,
|
|
'is-active': control.isActive,
|
|
'is-icon-only': !control.title
|
|
}),
|
|
icon: control.icon,
|
|
label: control.label,
|
|
"aria-checked": control.role === 'menuitemcheckbox' || control.role === 'menuitemradio' ? control.isActive : undefined,
|
|
role: control.role === 'menuitemcheckbox' || control.role === 'menuitemradio' ? control.role : 'menuitem',
|
|
disabled: control.isDisabled
|
|
}, control.title))));
|
|
}
|
|
});
|
|
}
|
|
|
|
/* harmony default export */ const dropdown_menu = (DropdownMenu);
|
|
//# sourceMappingURL=index.js.map
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown/index.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ A: () => (/* binding */ Dropdown)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js");
|
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var _popover__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/popover/index.js");
|
|
|
|
|
|
// @ts-nocheck
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
function useObservableState(initialState, onStateChange) {
|
|
const [state, setState] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)(initialState);
|
|
return [state, value => {
|
|
setState(value);
|
|
|
|
if (onStateChange) {
|
|
onStateChange(value);
|
|
}
|
|
}];
|
|
}
|
|
|
|
function Dropdown(props) {
|
|
var _popoverProps$anchorR;
|
|
|
|
const {
|
|
renderContent,
|
|
renderToggle,
|
|
position = 'bottom right',
|
|
className,
|
|
contentClassName,
|
|
expandOnMobile,
|
|
headerTitle,
|
|
focusOnMount,
|
|
popoverProps,
|
|
onClose,
|
|
onToggle
|
|
} = props;
|
|
const containerRef = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useRef)();
|
|
const [isOpen, setIsOpen] = useObservableState(false, onToggle);
|
|
(0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => () => {
|
|
if (onToggle) {
|
|
onToggle(false);
|
|
}
|
|
}, []);
|
|
|
|
function toggle() {
|
|
setIsOpen(!isOpen);
|
|
}
|
|
/**
|
|
* Closes the popover when focus leaves it unless the toggle was pressed or
|
|
* focus has moved to a separate dialog. The former is to let the toggle
|
|
* handle closing the popover and the latter is to preserve presence in
|
|
* case a dialog has opened, allowing focus to return when it's dismissed.
|
|
*/
|
|
|
|
|
|
function closeIfFocusOutside() {
|
|
const {
|
|
ownerDocument
|
|
} = containerRef.current;
|
|
const dialog = ownerDocument.activeElement.closest('[role="dialog"]');
|
|
|
|
if (!containerRef.current.contains(ownerDocument.activeElement) && (!dialog || dialog.contains(containerRef.current))) {
|
|
close();
|
|
}
|
|
}
|
|
|
|
function close() {
|
|
if (onClose) {
|
|
onClose();
|
|
}
|
|
|
|
setIsOpen(false);
|
|
}
|
|
|
|
const args = {
|
|
isOpen,
|
|
onToggle: toggle,
|
|
onClose: close
|
|
};
|
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", {
|
|
className: classnames__WEBPACK_IMPORTED_MODULE_0___default()('components-dropdown', className),
|
|
ref: containerRef // Some UAs focus the closest focusable parent when the toggle is
|
|
// clicked. Making this div focusable ensures such UAs will focus
|
|
// it and `closeIfFocusOutside` can tell if the toggle was clicked.
|
|
,
|
|
tabIndex: "-1"
|
|
}, renderToggle(args), isOpen && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_popover__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)({
|
|
position: position,
|
|
onClose: close,
|
|
onFocusOutside: closeIfFocusOutside,
|
|
expandOnMobile: expandOnMobile,
|
|
headerTitle: headerTitle,
|
|
focusOnMount: focusOnMount
|
|
}, popoverProps, {
|
|
anchorRef: (_popoverProps$anchorR = popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.anchorRef) !== null && _popoverProps$anchorR !== void 0 ? _popoverProps$anchorR : containerRef.current,
|
|
className: classnames__WEBPACK_IMPORTED_MODULE_0___default()('components-dropdown__content', popoverProps ? popoverProps.className : undefined, contentClassName)
|
|
}), renderContent(args)));
|
|
}
|
|
//# sourceMappingURL=index.js.map
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex-item/component.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
|
/* harmony import */ var _ui_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/ui/context/context-connect.js");
|
|
/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/view/component.js");
|
|
/* harmony import */ var _hook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex-item/hook.js");
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexItemProps, 'div'>} props
|
|
* @param {import('react').ForwardedRef<any>} forwardedRef
|
|
*/
|
|
|
|
function FlexItem(props, forwardedRef) {
|
|
const flexItemProps = (0,_hook__WEBPACK_IMPORTED_MODULE_0__/* .useFlexItem */ .K)(props);
|
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_view__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)({}, flexItemProps, {
|
|
ref: forwardedRef
|
|
}));
|
|
}
|
|
/**
|
|
* `FlexItem` is a primitive layout component that aligns content within layout containers like `Flex`.
|
|
*
|
|
* @example
|
|
* ```jsx
|
|
* <Flex>
|
|
* <FlexItem>...</FlexItem>
|
|
* </Flex>
|
|
* ```
|
|
*/
|
|
|
|
|
|
const ConnectedFlexItem = (0,_ui_context__WEBPACK_IMPORTED_MODULE_4__/* .contextConnect */ .KZ)(FlexItem, 'FlexItem');
|
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ConnectedFlexItem);
|
|
//# sourceMappingURL=component.js.map
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex-item/hook.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ K: () => (/* binding */ useFlexItem)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/@emotion+react@11.11.1_@types+react@17.0.71_react@17.0.2/node_modules/@emotion/react/dist/emotion-react.browser.esm.js");
|
|
/* harmony import */ var _ui_context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/ui/context/use-context-system.js");
|
|
/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/context.js");
|
|
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/styles.js");
|
|
/* harmony import */ var _utils_hooks_use_cx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/utils/hooks/use-cx.js");
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexItemProps, 'div'>} props
|
|
*/
|
|
|
|
function useFlexItem(props) {
|
|
const {
|
|
className,
|
|
display: displayProp,
|
|
isBlock = false,
|
|
...otherProps
|
|
} = (0,_ui_context__WEBPACK_IMPORTED_MODULE_0__/* .useContextSystem */ .A)(props, 'FlexItem');
|
|
const sx = {};
|
|
const contextDisplay = (0,_context__WEBPACK_IMPORTED_MODULE_1__/* .useFlexContext */ .a)().flexItemDisplay;
|
|
sx.Base = /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_2__/* .css */ .AH)({
|
|
display: displayProp || contextDisplay
|
|
}, true ? "" : 0, true ? "" : 0);
|
|
const cx = (0,_utils_hooks_use_cx__WEBPACK_IMPORTED_MODULE_3__/* .useCx */ .l)();
|
|
const classes = cx(_styles__WEBPACK_IMPORTED_MODULE_4__/* .Item */ .q7, sx.Base, isBlock && _styles__WEBPACK_IMPORTED_MODULE_4__/* .block */ .om, className);
|
|
return { ...otherProps,
|
|
className: classes
|
|
};
|
|
}
|
|
//# sourceMappingURL=hook.js.map
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/navigable-container/menu.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
A: () => (/* binding */ menu)
|
|
});
|
|
|
|
// UNUSED EXPORTS: NavigableMenu
|
|
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js
|
|
var react = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js
|
|
var lodash = __webpack_require__("../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+keycodes@3.47.0/node_modules/@wordpress/keycodes/build-module/index.js + 2 modules
|
|
var build_module = __webpack_require__("../../node_modules/.pnpm/@wordpress+keycodes@3.47.0/node_modules/@wordpress/keycodes/build-module/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+dom@3.6.1/node_modules/@wordpress/dom/build-module/index.js + 2 modules
|
|
var dom_build_module = __webpack_require__("../../node_modules/.pnpm/@wordpress+dom@3.6.1/node_modules/@wordpress/dom/build-module/index.js");
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/navigable-container/container.js
|
|
|
|
|
|
// @ts-nocheck
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
const MENU_ITEM_ROLES = ['menuitem', 'menuitemradio', 'menuitemcheckbox'];
|
|
|
|
function cycleValue(value, total, offset) {
|
|
const nextValue = value + offset;
|
|
|
|
if (nextValue < 0) {
|
|
return total + nextValue;
|
|
} else if (nextValue >= total) {
|
|
return nextValue - total;
|
|
}
|
|
|
|
return nextValue;
|
|
}
|
|
|
|
class NavigableContainer extends react.Component {
|
|
constructor() {
|
|
super(...arguments);
|
|
this.onKeyDown = this.onKeyDown.bind(this);
|
|
this.bindContainer = this.bindContainer.bind(this);
|
|
this.getFocusableContext = this.getFocusableContext.bind(this);
|
|
this.getFocusableIndex = this.getFocusableIndex.bind(this);
|
|
}
|
|
|
|
componentDidMount() {
|
|
// We use DOM event listeners instead of React event listeners
|
|
// because we want to catch events from the underlying DOM tree
|
|
// The React Tree can be different from the DOM tree when using
|
|
// portals. Block Toolbars for instance are rendered in a separate
|
|
// React Trees.
|
|
this.container.addEventListener('keydown', this.onKeyDown);
|
|
this.container.addEventListener('focus', this.onFocus);
|
|
}
|
|
|
|
componentWillUnmount() {
|
|
this.container.removeEventListener('keydown', this.onKeyDown);
|
|
this.container.removeEventListener('focus', this.onFocus);
|
|
}
|
|
|
|
bindContainer(ref) {
|
|
const {
|
|
forwardedRef
|
|
} = this.props;
|
|
this.container = ref;
|
|
|
|
if ((0,lodash.isFunction)(forwardedRef)) {
|
|
forwardedRef(ref);
|
|
} else if (forwardedRef && 'current' in forwardedRef) {
|
|
forwardedRef.current = ref;
|
|
}
|
|
}
|
|
|
|
getFocusableContext(target) {
|
|
const {
|
|
onlyBrowserTabstops
|
|
} = this.props;
|
|
const finder = onlyBrowserTabstops ? dom_build_module/* focus */.XC.tabbable : dom_build_module/* focus */.XC.focusable;
|
|
const focusables = finder.find(this.container);
|
|
const index = this.getFocusableIndex(focusables, target);
|
|
|
|
if (index > -1 && target) {
|
|
return {
|
|
index,
|
|
target,
|
|
focusables
|
|
};
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
getFocusableIndex(focusables, target) {
|
|
const directIndex = focusables.indexOf(target);
|
|
|
|
if (directIndex !== -1) {
|
|
return directIndex;
|
|
}
|
|
}
|
|
|
|
onKeyDown(event) {
|
|
if (this.props.onKeyDown) {
|
|
this.props.onKeyDown(event);
|
|
}
|
|
|
|
const {
|
|
getFocusableContext
|
|
} = this;
|
|
const {
|
|
cycle = true,
|
|
eventToOffset,
|
|
onNavigate = lodash.noop,
|
|
stopNavigationEvents
|
|
} = this.props;
|
|
const offset = eventToOffset(event); // eventToOffset returns undefined if the event is not handled by the component.
|
|
|
|
if (offset !== undefined && stopNavigationEvents) {
|
|
// Prevents arrow key handlers bound to the document directly interfering.
|
|
event.stopImmediatePropagation(); // When navigating a collection of items, prevent scroll containers
|
|
// from scrolling. The preventDefault also prevents Voiceover from
|
|
// 'handling' the event, as voiceover will try to use arrow keys
|
|
// for highlighting text.
|
|
|
|
const targetRole = event.target.getAttribute('role');
|
|
|
|
if (MENU_ITEM_ROLES.includes(targetRole)) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
|
|
if (!offset) {
|
|
return;
|
|
}
|
|
|
|
const context = getFocusableContext(event.target.ownerDocument.activeElement);
|
|
|
|
if (!context) {
|
|
return;
|
|
}
|
|
|
|
const {
|
|
index,
|
|
focusables
|
|
} = context;
|
|
const nextIndex = cycle ? cycleValue(index, focusables.length, offset) : index + offset;
|
|
|
|
if (nextIndex >= 0 && nextIndex < focusables.length) {
|
|
focusables[nextIndex].focus();
|
|
onNavigate(nextIndex, focusables[nextIndex]);
|
|
}
|
|
}
|
|
|
|
render() {
|
|
const {
|
|
children,
|
|
...props
|
|
} = this.props;
|
|
return (0,react.createElement)("div", (0,esm_extends/* default */.A)({
|
|
ref: this.bindContainer
|
|
}, (0,lodash.omit)(props, ['stopNavigationEvents', 'eventToOffset', 'onNavigate', 'onKeyDown', 'cycle', 'onlyBrowserTabstops', 'forwardedRef'])), children);
|
|
}
|
|
|
|
}
|
|
|
|
const forwardedNavigableContainer = (props, ref) => {
|
|
return (0,react.createElement)(NavigableContainer, (0,esm_extends/* default */.A)({}, props, {
|
|
forwardedRef: ref
|
|
}));
|
|
};
|
|
|
|
forwardedNavigableContainer.displayName = 'NavigableContainer';
|
|
/* harmony default export */ const container = ((0,react.forwardRef)(forwardedNavigableContainer));
|
|
//# sourceMappingURL=container.js.map
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/navigable-container/menu.js
|
|
|
|
|
|
// @ts-nocheck
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function NavigableMenu(_ref, ref) {
|
|
let {
|
|
role = 'menu',
|
|
orientation = 'vertical',
|
|
...rest
|
|
} = _ref;
|
|
|
|
const eventToOffset = evt => {
|
|
const {
|
|
keyCode
|
|
} = evt;
|
|
let next = [build_module/* DOWN */.PX];
|
|
let previous = [build_module.UP];
|
|
|
|
if (orientation === 'horizontal') {
|
|
next = [build_module/* RIGHT */.NS];
|
|
previous = [build_module/* LEFT */.M3];
|
|
}
|
|
|
|
if (orientation === 'both') {
|
|
next = [build_module/* RIGHT */.NS, build_module/* DOWN */.PX];
|
|
previous = [build_module/* LEFT */.M3, build_module.UP];
|
|
}
|
|
|
|
if ((0,lodash.includes)(next, keyCode)) {
|
|
return 1;
|
|
} else if ((0,lodash.includes)(previous, keyCode)) {
|
|
return -1;
|
|
} else if ((0,lodash.includes)([build_module/* DOWN */.PX, build_module.UP, build_module/* LEFT */.M3, build_module/* RIGHT */.NS], keyCode)) {
|
|
// Key press should be handled, e.g. have event propagation and
|
|
// default behavior handled by NavigableContainer but not result
|
|
// in an offset.
|
|
return 0;
|
|
}
|
|
};
|
|
|
|
return (0,react.createElement)(container, (0,esm_extends/* default */.A)({
|
|
ref: ref,
|
|
stopNavigationEvents: true,
|
|
onlyBrowserTabstops: false,
|
|
role: role,
|
|
"aria-orientation": role === 'presentation' ? null : orientation,
|
|
eventToOffset: eventToOffset
|
|
}, rest));
|
|
}
|
|
/* harmony default export */ const menu = ((0,react.forwardRef)(NavigableMenu));
|
|
//# sourceMappingURL=menu.js.map
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/@wordpress+primitives@4.6.0_react@17.0.2/node_modules/@wordpress/primitives/build-module/svg/index.js":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ t4: () => (/* binding */ SVG),
|
|
/* harmony export */ wA: () => (/* binding */ Path)
|
|
/* harmony export */ });
|
|
/* unused harmony exports Circle, G, Line, Polygon, Rect, Defs, RadialGradient, LinearGradient, Stop */
|
|
/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js");
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/** @typedef {{isPressed?: boolean} & import('react').ComponentPropsWithoutRef<'svg'>} SVGProps */
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'circle'>} props
|
|
*
|
|
* @return {JSX.Element} Circle component
|
|
*/
|
|
|
|
const Circle = props => createElement('circle', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'g'>} props
|
|
*
|
|
* @return {JSX.Element} G component
|
|
*/
|
|
const G = props => createElement('g', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'line'>} props
|
|
*
|
|
* @return {JSX.Element} Path component
|
|
*/
|
|
const Line = props => createElement('line', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'path'>} props
|
|
*
|
|
* @return {JSX.Element} Path component
|
|
*/
|
|
const Path = props => (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)('path', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'polygon'>} props
|
|
*
|
|
* @return {JSX.Element} Polygon component
|
|
*/
|
|
const Polygon = props => createElement('polygon', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'rect'>} props
|
|
*
|
|
* @return {JSX.Element} Rect component
|
|
*/
|
|
const Rect = props => createElement('rect', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'defs'>} props
|
|
*
|
|
* @return {JSX.Element} Defs component
|
|
*/
|
|
const Defs = props => createElement('defs', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'radialGradient'>} props
|
|
*
|
|
* @return {JSX.Element} RadialGradient component
|
|
*/
|
|
const RadialGradient = props => createElement('radialGradient', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'linearGradient'>} props
|
|
*
|
|
* @return {JSX.Element} LinearGradient component
|
|
*/
|
|
const LinearGradient = props => createElement('linearGradient', props);
|
|
|
|
/**
|
|
* @param {import('react').ComponentPropsWithoutRef<'stop'>} props
|
|
*
|
|
* @return {JSX.Element} Stop component
|
|
*/
|
|
const Stop = props => createElement('stop', props);
|
|
const SVG = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(
|
|
/**
|
|
* @param {SVGProps} props isPressed indicates whether the SVG should appear as pressed.
|
|
* Other props will be passed through to svg component.
|
|
* @param {import('react').ForwardedRef<SVGSVGElement>} ref The forwarded ref to the SVG element.
|
|
*
|
|
* @return {JSX.Element} Stop component
|
|
*/
|
|
({
|
|
className,
|
|
isPressed,
|
|
...props
|
|
}, ref) => {
|
|
const appliedProps = {
|
|
...props,
|
|
className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(className, {
|
|
'is-pressed': isPressed
|
|
}) || undefined,
|
|
'aria-hidden': true,
|
|
focusable: false
|
|
};
|
|
|
|
// Disable reason: We need to have a way to render HTML tag for web.
|
|
// eslint-disable-next-line react/forbid-elements
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("svg", {
|
|
...appliedProps,
|
|
ref: ref
|
|
});
|
|
});
|
|
SVG.displayName = 'SVG';
|
|
//# sourceMappingURL=index.js.map
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
/* harmony export */ });
|
|
/* unused harmony export clsx */
|
|
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js":
|
|
/***/ ((module) => {
|
|
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
|
|
|
|
/* eslint-disable no-unused-vars */
|
|
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
|
|
|
function toObject(val) {
|
|
if (val === null || val === undefined) {
|
|
throw new TypeError('Object.assign cannot be called with null or undefined');
|
|
}
|
|
|
|
return Object(val);
|
|
}
|
|
|
|
function shouldUseNative() {
|
|
try {
|
|
if (!Object.assign) {
|
|
return false;
|
|
}
|
|
|
|
// Detect buggy property enumeration order in older V8 versions.
|
|
|
|
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
|
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
|
test1[5] = 'de';
|
|
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
|
return false;
|
|
}
|
|
|
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
var test2 = {};
|
|
for (var i = 0; i < 10; i++) {
|
|
test2['_' + String.fromCharCode(i)] = i;
|
|
}
|
|
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
|
return test2[n];
|
|
});
|
|
if (order2.join('') !== '0123456789') {
|
|
return false;
|
|
}
|
|
|
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
var test3 = {};
|
|
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
|
test3[letter] = letter;
|
|
});
|
|
if (Object.keys(Object.assign({}, test3)).join('') !==
|
|
'abcdefghijklmnopqrst') {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
} catch (err) {
|
|
// We don't expect any of the above to throw, but better to be safe.
|
|
return false;
|
|
}
|
|
}
|
|
|
|
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
|
var from;
|
|
var to = toObject(target);
|
|
var symbols;
|
|
|
|
for (var s = 1; s < arguments.length; s++) {
|
|
from = Object(arguments[s]);
|
|
|
|
for (var key in from) {
|
|
if (hasOwnProperty.call(from, key)) {
|
|
to[key] = from[key];
|
|
}
|
|
}
|
|
|
|
if (getOwnPropertySymbols) {
|
|
symbols = getOwnPropertySymbols(from);
|
|
for (var i = 0; i < symbols.length; i++) {
|
|
if (propIsEnumerable.call(from, symbols[i])) {
|
|
to[symbols[i]] = from[symbols[i]];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return to;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/react@17.0.2/node_modules/react/cjs/react-jsx-runtime.production.min.js":
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
/** @license React v17.0.2
|
|
* react-jsx-runtime.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
__webpack_require__("../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js");var f=__webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js"),g=60103;exports.Fragment=60107;if("function"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h("react.element");exports.Fragment=h("react.fragment")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};
|
|
function q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=""+k);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js":
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
if (true) {
|
|
module.exports = __webpack_require__("../../node_modules/.pnpm/react@17.0.2/node_modules/react/cjs/react-jsx-runtime.production.min.js");
|
|
} else {}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../../packages/js/product-editor/src/components/button-with-dropdown-menu/stories/button-with-dropdown-menu.story.tsx":
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Default: () => (/* binding */ Default),
|
|
"default": () => (/* binding */ button_with_dropdown_menu_story)
|
|
});
|
|
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js
|
|
var react = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules
|
|
var objectWithoutProperties = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+primitives@4.6.0_react@17.0.2/node_modules/@wordpress/primitives/build-module/svg/index.js
|
|
var svg = __webpack_require__("../../node_modules/.pnpm/@wordpress+primitives@4.6.0_react@17.0.2/node_modules/@wordpress/primitives/build-module/svg/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js
|
|
var jsx_runtime = __webpack_require__("../../node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js");
|
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@wordpress+icons@10.6.0_react@17.0.2/node_modules/@wordpress/icons/build-module/library/chevron-down.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
const chevronDown = /*#__PURE__*/(0,jsx_runtime.jsx)(svg/* SVG */.t4, {
|
|
viewBox: "0 0 24 24",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(svg/* Path */.wA, {
|
|
d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"
|
|
})
|
|
});
|
|
/* harmony default export */ const chevron_down = (chevronDown);
|
|
//# sourceMappingURL=chevron-down.js.map
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex/component.js + 2 modules
|
|
var component = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex/component.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex-item/component.js
|
|
var flex_item_component = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/flex/flex-item/component.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/button/index.js
|
|
var build_module_button = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/button/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown-menu/index.js + 1 modules
|
|
var dropdown_menu = __webpack_require__("../../node_modules/.pnpm/@wordpress+components@19.8.5_@types+react@17.0.71_react-dom@17.0.2_react@17.0.2__react-with-d_oli5xz3n7pc4ztqokra47llglu/node_modules/@wordpress/components/build-module/dropdown-menu/index.js");
|
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+i18n@4.6.1/node_modules/@wordpress/i18n/build-module/index.js + 3 modules
|
|
var build_module = __webpack_require__("../../node_modules/.pnpm/@wordpress+i18n@4.6.1/node_modules/@wordpress/i18n/build-module/index.js");
|
|
;// CONCATENATED MODULE: ../../packages/js/product-editor/src/components/button-with-dropdown-menu/index.tsx
|
|
|
|
|
|
var _excluded = ["dropdownButtonLabel", "controls", "defaultOpen", "popoverProps", "className", "renderMenu", "onToggle"];
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function ButtonWithDropdownMenu(_ref) {
|
|
var _ref$dropdownButtonLa = _ref.dropdownButtonLabel,
|
|
dropdownButtonLabel = _ref$dropdownButtonLa === void 0 ? (0,build_module.__)('More options', 'woocommerce') : _ref$dropdownButtonLa,
|
|
controls = _ref.controls,
|
|
_ref$defaultOpen = _ref.defaultOpen,
|
|
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
_ref$popoverProps = _ref.popoverProps,
|
|
_ref$popoverProps2 = _ref$popoverProps === void 0 ? {
|
|
placement: 'bottom-end',
|
|
position: 'bottom left left',
|
|
offset: 0
|
|
} : _ref$popoverProps,
|
|
_ref$popoverProps2$pl = _ref$popoverProps2.placement,
|
|
placement = _ref$popoverProps2$pl === void 0 ? 'bottom-end' : _ref$popoverProps2$pl,
|
|
_ref$popoverProps2$po = _ref$popoverProps2.position,
|
|
position = _ref$popoverProps2$po === void 0 ? 'bottom left left' : _ref$popoverProps2$po,
|
|
_ref$popoverProps2$of = _ref$popoverProps2.offset,
|
|
offset = _ref$popoverProps2$of === void 0 ? 0 : _ref$popoverProps2$of,
|
|
className = _ref.className,
|
|
renderMenu = _ref.renderMenu,
|
|
_ref$onToggle = _ref.onToggle,
|
|
onToggle = _ref$onToggle === void 0 ? function () {} : _ref$onToggle,
|
|
props = (0,objectWithoutProperties/* default */.A)(_ref, _excluded);
|
|
return (0,react.createElement)(component/* default */.A, {
|
|
className: "woocommerce-button-with-dropdown-menu".concat(className !== null && className !== void 0 && className.length ? ' ' + className : ''),
|
|
justify: "left",
|
|
gap: 0,
|
|
expanded: false,
|
|
role: "group"
|
|
}, (0,react.createElement)(flex_item_component/* default */.A, {
|
|
role: "none"
|
|
}, (0,react.createElement)(build_module_button/* default */.A, (0,esm_extends/* default */.A)({}, props, {
|
|
className: "woocommerce-button-with-dropdown-menu__main-button"
|
|
}))), (0,react.createElement)(flex_item_component/* default */.A, {
|
|
role: "none"
|
|
}, (0,react.createElement)(dropdown_menu/* default */.A, {
|
|
toggleProps: {
|
|
className: 'woocommerce-button-with-dropdown-menu__dropdown-button',
|
|
variant: props.variant
|
|
},
|
|
controls: controls,
|
|
icon: chevron_down,
|
|
label: dropdownButtonLabel,
|
|
popoverProps: {
|
|
placement: placement,
|
|
// @ts-expect-error no exported member.
|
|
position: position,
|
|
offset: offset
|
|
},
|
|
defaultOpen: defaultOpen,
|
|
onToggle: onToggle
|
|
}, renderMenu)));
|
|
}
|
|
try {
|
|
// @ts-ignore
|
|
ButtonWithDropdownMenu.displayName = "ButtonWithDropdownMenu";
|
|
// @ts-ignore
|
|
ButtonWithDropdownMenu.__docgenInfo = { "description": "", "displayName": "ButtonWithDropdownMenu", "props": { "dropdownButtonLabel": { "defaultValue": { value: "__( 'More options', 'woocommerce' )" }, "description": "", "name": "dropdownButtonLabel", "required": false, "type": { "name": "string" } }, "defaultOpen": { "defaultValue": { value: "false" }, "description": "", "name": "defaultOpen", "required": false, "type": { "name": "boolean" } }, "controls": { "defaultValue": null, "description": "", "name": "controls", "required": false, "type": { "name": "DropdownOption[]" } }, "popoverProps": { "defaultValue": null, "description": "", "name": "popoverProps", "required": false, "type": { "name": "PopoverProps" } }, "renderMenu": { "defaultValue": null, "description": "", "name": "renderMenu", "required": false, "type": { "name": "((props: RenderProps) => ReactElement<any, string | JSXElementConstructor<any>>)" } }, "onToggle": { "defaultValue": { value: "() => {}" }, "description": "", "name": "onToggle", "required": false, "type": { "name": "((isOpen: boolean) => void)" } } } };
|
|
// @ts-ignore
|
|
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
|
|
// @ts-ignore
|
|
STORYBOOK_REACT_CLASSES["../../packages/js/product-editor/src/components/button-with-dropdown-menu/index.tsx#ButtonWithDropdownMenu"] = { docgenInfo: ButtonWithDropdownMenu.__docgenInfo, name: "ButtonWithDropdownMenu", path: "../../packages/js/product-editor/src/components/button-with-dropdown-menu/index.tsx#ButtonWithDropdownMenu" };
|
|
}
|
|
catch (__react_docgen_typescript_loader_error) { }
|
|
;// CONCATENATED MODULE: ../../packages/js/product-editor/src/components/button-with-dropdown-menu/stories/button-with-dropdown-menu.story.tsx
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
/* harmony default export */ const button_with_dropdown_menu_story = ({
|
|
title: 'Product Editor/components/ButtonWithDropdownMenu',
|
|
component: ButtonWithDropdownMenu
|
|
});
|
|
var Default = function Default(args) {
|
|
return (0,react.createElement)("div", {
|
|
style: {
|
|
display: 'flex',
|
|
justifyContent: 'center',
|
|
minHeight: '300px'
|
|
}
|
|
}, (0,react.createElement)(ButtonWithDropdownMenu, args));
|
|
};
|
|
Default.args = {
|
|
children: 'Add to store',
|
|
dropdownButtonLabel: 'More options',
|
|
variant: 'secondary',
|
|
defaultOpen: false,
|
|
popoverProps: {
|
|
placement: 'bottom-end',
|
|
position: 'bottom left left',
|
|
offset: 0
|
|
},
|
|
controls: [{
|
|
title: 'First Menu Item Label',
|
|
onClick: function noRefCheck() {}
|
|
}, {
|
|
onClick: function noRefCheck() {},
|
|
title: 'Second Menu Item Label'
|
|
}],
|
|
className: 'my-custom-classname',
|
|
onClick: console.log // eslint-disable-line no-console
|
|
};
|
|
Default.parameters = {
|
|
...Default.parameters,
|
|
docs: {
|
|
...Default.parameters?.docs,
|
|
source: {
|
|
originalSource: "(args: ButtonWithDropdownMenuProps) => {\n return <div style={{\n display: 'flex',\n justifyContent: 'center',\n minHeight: '300px'\n }}>\n <ButtonWithDropdownMenu {...args} />\n </div>;\n}",
|
|
...Default.parameters?.docs?.source
|
|
}
|
|
}
|
|
};
|
|
try {
|
|
// @ts-ignore
|
|
Default.displayName = "Default";
|
|
// @ts-ignore
|
|
Default.__docgenInfo = { "description": "", "displayName": "Default", "props": { "dropdownButtonLabel": { "defaultValue": null, "description": "", "name": "dropdownButtonLabel", "required": false, "type": { "name": "string" } }, "defaultOpen": { "defaultValue": null, "description": "", "name": "defaultOpen", "required": false, "type": { "name": "boolean" } }, "controls": { "defaultValue": null, "description": "", "name": "controls", "required": false, "type": { "name": "DropdownOption[]" } }, "popoverProps": { "defaultValue": null, "description": "", "name": "popoverProps", "required": false, "type": { "name": "PopoverProps" } }, "renderMenu": { "defaultValue": null, "description": "", "name": "renderMenu", "required": false, "type": { "name": "((props: RenderProps) => ReactElement<any, string | JSXElementConstructor<any>>)" } }, "onToggle": { "defaultValue": null, "description": "", "name": "onToggle", "required": false, "type": { "name": "((isOpen: boolean) => void)" } } } };
|
|
// @ts-ignore
|
|
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
|
|
// @ts-ignore
|
|
STORYBOOK_REACT_CLASSES["../../packages/js/product-editor/src/components/button-with-dropdown-menu/stories/button-with-dropdown-menu.story.tsx#Default"] = { docgenInfo: Default.__docgenInfo, name: "Default", path: "../../packages/js/product-editor/src/components/button-with-dropdown-menu/stories/button-with-dropdown-menu.story.tsx#Default" };
|
|
}
|
|
catch (__react_docgen_typescript_loader_error) { }
|
|
|
|
/***/ })
|
|
|
|
}]); |