923 lines
43 KiB
JavaScript
923 lines
43 KiB
JavaScript
|
"use strict";
|
||
|
(self["webpackChunk_woocommerce_storybook"] = self["webpackChunk_woocommerce_storybook"] || []).push([[5966],{
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
|
/* harmony export */ A: () => (/* binding */ _arrayLikeToArray)
|
||
|
/* harmony export */ });
|
||
|
function _arrayLikeToArray(arr, len) {
|
||
|
if (len == null || len > arr.length) len = arr.length;
|
||
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
||
|
return arr2;
|
||
|
}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
|
/* harmony export */ A: () => (/* binding */ _arrayWithHoles)
|
||
|
/* harmony export */ });
|
||
|
function _arrayWithHoles(arr) {
|
||
|
if (Array.isArray(arr)) return arr;
|
||
|
}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
|
/* harmony export */ A: () => (/* binding */ _nonIterableRest)
|
||
|
/* harmony export */ });
|
||
|
function _nonIterableRest() {
|
||
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||
|
}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
|
||
|
// EXPORTS
|
||
|
__webpack_require__.d(__webpack_exports__, {
|
||
|
A: () => (/* binding */ _slicedToArray)
|
||
|
});
|
||
|
|
||
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
|
||
|
var arrayWithHoles = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
|
||
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
|
||
|
function _iterableToArrayLimit(r, l) {
|
||
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
||
|
if (null != t) {
|
||
|
var e,
|
||
|
n,
|
||
|
i,
|
||
|
u,
|
||
|
a = [],
|
||
|
f = !0,
|
||
|
o = !1;
|
||
|
try {
|
||
|
if (i = (t = t.call(r)).next, 0 === l) {
|
||
|
if (Object(t) !== t) return;
|
||
|
f = !1;
|
||
|
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
||
|
} catch (r) {
|
||
|
o = !0, n = r;
|
||
|
} finally {
|
||
|
try {
|
||
|
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
||
|
} finally {
|
||
|
if (o) throw n;
|
||
|
}
|
||
|
}
|
||
|
return a;
|
||
|
}
|
||
|
}
|
||
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
|
||
|
var unsupportedIterableToArray = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
|
||
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
|
||
|
var nonIterableRest = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
|
||
|
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.js
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
function _slicedToArray(arr, i) {
|
||
|
return (0,arrayWithHoles/* default */.A)(arr) || _iterableToArrayLimit(arr, i) || (0,unsupportedIterableToArray/* default */.A)(arr, i) || (0,nonIterableRest/* default */.A)();
|
||
|
}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
|
/* harmony export */ A: () => (/* binding */ _unsupportedIterableToArray)
|
||
|
/* harmony export */ });
|
||
|
/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
|
||
|
|
||
|
function _unsupportedIterableToArray(o, minLen) {
|
||
|
if (!o) return;
|
||
|
if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(o, minLen);
|
||
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
||
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
||
|
if (n === "Map" || n === "Set") return Array.from(o);
|
||
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(o, minLen);
|
||
|
}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../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/form-toggle/index.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_2__ = __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 lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js");
|
||
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
function FormToggle(_ref) {
|
||
|
let {
|
||
|
className,
|
||
|
checked,
|
||
|
id,
|
||
|
disabled,
|
||
|
onChange = lodash__WEBPACK_IMPORTED_MODULE_1__.noop,
|
||
|
...props
|
||
|
} = _ref;
|
||
|
const wrapperClasses = classnames__WEBPACK_IMPORTED_MODULE_0___default()('components-form-toggle', className, {
|
||
|
'is-checked': checked,
|
||
|
'is-disabled': disabled
|
||
|
});
|
||
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.createElement)("span", {
|
||
|
className: wrapperClasses
|
||
|
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.createElement)("input", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)({
|
||
|
className: "components-form-toggle__input",
|
||
|
id: id,
|
||
|
type: "checkbox",
|
||
|
checked: checked,
|
||
|
onChange: onChange,
|
||
|
disabled: disabled
|
||
|
}, props)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.createElement)("span", {
|
||
|
className: "components-form-toggle__track"
|
||
|
}), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.createElement)("span", {
|
||
|
className: "components-form-toggle__thumb"
|
||
|
}));
|
||
|
}
|
||
|
|
||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormToggle);
|
||
|
//# 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/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+icons@8.2.3/node_modules/@wordpress/icons/build-module/icon/index.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 _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
||
|
/**
|
||
|
* WordPress dependencies
|
||
|
*/
|
||
|
|
||
|
/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
|
||
|
|
||
|
/**
|
||
|
* Return an SVG icon.
|
||
|
*
|
||
|
* @param {IconProps} props icon is the SVG component to render
|
||
|
* size is a number specifiying the icon size in pixels
|
||
|
* Other props will be passed to wrapped SVG component
|
||
|
*
|
||
|
* @return {JSX.Element} Icon component
|
||
|
*/
|
||
|
|
||
|
function Icon(_ref) {
|
||
|
let {
|
||
|
icon,
|
||
|
size = 24,
|
||
|
...props
|
||
|
} = _ref;
|
||
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(icon, {
|
||
|
width: size,
|
||
|
height: size,
|
||
|
...props
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
|
||
|
//# sourceMappingURL=index.js.map
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../packages/js/components/src/ellipsis-menu/index.tsx":
|
||
|
/***/ ((__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 react__WEBPACK_IMPORTED_MODULE_2__ = __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 _wordpress_components__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/button/index.js");
|
||
|
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __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");
|
||
|
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6__ = __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");
|
||
|
/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/icon/index.js");
|
||
|
/* harmony import */ var gridicons_dist_ellipsis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/gridicons@3.4.2_react@17.0.2/node_modules/gridicons/dist/ellipsis.js");
|
||
|
|
||
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* This is a dropdown menu hidden behind a vertical ellipsis icon. When clicked, the inner MenuItems are displayed.
|
||
|
*/
|
||
|
|
||
|
var EllipsisMenu = function EllipsisMenu(_ref) {
|
||
|
var label = _ref.label,
|
||
|
renderContent = _ref.renderContent,
|
||
|
className = _ref.className,
|
||
|
onToggle = _ref.onToggle;
|
||
|
if (!renderContent) {
|
||
|
return null;
|
||
|
}
|
||
|
var renderEllipsis = function renderEllipsis(_ref2) {
|
||
|
var toggleHandlerOverride = _ref2.onToggle,
|
||
|
isOpen = _ref2.isOpen;
|
||
|
var toggleClassname = classnames__WEBPACK_IMPORTED_MODULE_0___default()('woocommerce-ellipsis-menu__toggle', {
|
||
|
'is-opened': isOpen
|
||
|
});
|
||
|
return (0,react__WEBPACK_IMPORTED_MODULE_2__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, {
|
||
|
className: toggleClassname,
|
||
|
onClick: function onClick(e) {
|
||
|
if (onToggle) {
|
||
|
onToggle(e);
|
||
|
}
|
||
|
if (toggleHandlerOverride) {
|
||
|
toggleHandlerOverride();
|
||
|
}
|
||
|
},
|
||
|
title: label,
|
||
|
"aria-expanded": isOpen
|
||
|
}, (0,react__WEBPACK_IMPORTED_MODULE_2__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, {
|
||
|
icon: (0,react__WEBPACK_IMPORTED_MODULE_2__.createElement)(gridicons_dist_ellipsis__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A, null)
|
||
|
}));
|
||
|
};
|
||
|
var renderMenu = function renderMenu(renderContentArgs) {
|
||
|
return (0,react__WEBPACK_IMPORTED_MODULE_2__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
|
||
|
className: "woocommerce-ellipsis-menu__content"
|
||
|
}, renderContent(renderContentArgs));
|
||
|
};
|
||
|
return (0,react__WEBPACK_IMPORTED_MODULE_2__.createElement)("div", {
|
||
|
className: classnames__WEBPACK_IMPORTED_MODULE_0___default()(className, 'woocommerce-ellipsis-menu')
|
||
|
}, (0,react__WEBPACK_IMPORTED_MODULE_2__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, {
|
||
|
contentClassName: "woocommerce-ellipsis-menu__popover"
|
||
|
// @ts-expect-error missing prop in types.
|
||
|
,
|
||
|
|
||
|
popoverProps: {
|
||
|
placement: 'bottom'
|
||
|
},
|
||
|
renderToggle: renderEllipsis,
|
||
|
renderContent: renderMenu
|
||
|
}));
|
||
|
};
|
||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EllipsisMenu);
|
||
|
try {
|
||
|
// @ts-ignore
|
||
|
ellipsismenu.displayName = "ellipsismenu";
|
||
|
// @ts-ignore
|
||
|
ellipsismenu.__docgenInfo = { "description": "This is a dropdown menu hidden behind a vertical ellipsis icon. When clicked, the inner MenuItems are displayed.", "displayName": "ellipsismenu", "props": { "label": { "defaultValue": null, "description": "The label shown when hovering/focusing on the icon button.", "name": "label", "required": true, "type": { "name": "string" } }, "renderContent": { "defaultValue": null, "description": "A function returning `MenuTitle`/`MenuItem` components as a render prop. Arguments from Dropdown passed as function arguments.", "name": "renderContent", "required": false, "type": { "name": "((props: CallbackProps) => Element | ReactNode)" } }, "className": { "defaultValue": null, "description": "Classname to add to ellipsis menu.", "name": "className", "required": false, "type": { "name": "string" } }, "onToggle": { "defaultValue": null, "description": "Callback function when dropdown button is clicked, it provides the click event.", "name": "onToggle", "required": false, "type": { "name": "((e: MouseEvent<Element, MouseEvent> | KeyboardEvent<Element>) => void)" } } } };
|
||
|
// @ts-ignore
|
||
|
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
|
||
|
// @ts-ignore
|
||
|
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/ellipsis-menu/index.tsx#ellipsismenu"] = { docgenInfo: ellipsismenu.__docgenInfo, name: "ellipsismenu", path: "../../packages/js/components/src/ellipsis-menu/index.tsx#ellipsismenu" };
|
||
|
}
|
||
|
catch (__react_docgen_typescript_loader_error) { }
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../packages/js/components/src/ellipsis-menu/menu-item.tsx":
|
||
|
/***/ ((__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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
||
|
/* harmony import */ var _wordpress_components__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/base-control/index.js");
|
||
|
/* harmony import */ var _wordpress_components__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/form-toggle/index.js");
|
||
|
/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+keycodes@3.6.1/node_modules/@wordpress/keycodes/build-module/index.js");
|
||
|
|
||
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
var MenuItem = function MenuItem(_ref) {
|
||
|
var checked = _ref.checked,
|
||
|
children = _ref.children,
|
||
|
_ref$isCheckbox = _ref.isCheckbox,
|
||
|
isCheckbox = _ref$isCheckbox === void 0 ? false : _ref$isCheckbox,
|
||
|
_ref$isClickable = _ref.isClickable,
|
||
|
isClickable = _ref$isClickable === void 0 ? false : _ref$isClickable,
|
||
|
_ref$onInvoke = _ref.onInvoke,
|
||
|
onInvoke = _ref$onInvoke === void 0 ? function () {} : _ref$onInvoke;
|
||
|
var container = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
||
|
var onClick = function onClick(event) {
|
||
|
if (isClickable) {
|
||
|
event.preventDefault();
|
||
|
onInvoke();
|
||
|
}
|
||
|
};
|
||
|
var onKeyDown = function onKeyDown(event) {
|
||
|
var eventTarget = event.target;
|
||
|
if (eventTarget.isSameNode(event.currentTarget)) {
|
||
|
if (event.keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__/* .ENTER */ .Fm || event.keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__/* .SPACE */ .t6) {
|
||
|
event.preventDefault();
|
||
|
onInvoke();
|
||
|
}
|
||
|
if (event.keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__.UP) {
|
||
|
event.preventDefault();
|
||
|
}
|
||
|
if (event.keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__/* .DOWN */ .PX) {
|
||
|
var _eventTarget$parentNo;
|
||
|
event.preventDefault();
|
||
|
var nextElementToFocus = eventTarget.nextSibling || ((_eventTarget$parentNo = eventTarget.parentNode) === null || _eventTarget$parentNo === void 0 ? void 0 : _eventTarget$parentNo.querySelector('.woocommerce-ellipsis-menu__item'));
|
||
|
nextElementToFocus.focus();
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
if (isCheckbox) {
|
||
|
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||
|
"aria-checked": checked,
|
||
|
ref: container,
|
||
|
role: "menuitemcheckbox",
|
||
|
tabIndex: 0,
|
||
|
onKeyDown: onKeyDown,
|
||
|
onClick: onClick,
|
||
|
className: "woocommerce-ellipsis-menu__item"
|
||
|
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay, {
|
||
|
className: "components-toggle-control"
|
||
|
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, {
|
||
|
"aria-hidden": "true",
|
||
|
checked: checked,
|
||
|
onChange: onInvoke,
|
||
|
onClick: function onClick(e) {
|
||
|
return e.stopPropagation();
|
||
|
},
|
||
|
tabIndex: -1
|
||
|
}), children));
|
||
|
}
|
||
|
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||
|
role: "menuitem",
|
||
|
tabIndex: 0,
|
||
|
onKeyDown: onKeyDown,
|
||
|
onClick: onClick,
|
||
|
className: "woocommerce-ellipsis-menu__item"
|
||
|
}, children);
|
||
|
};
|
||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MenuItem);
|
||
|
try {
|
||
|
// @ts-ignore
|
||
|
menuitem.displayName = "menuitem";
|
||
|
// @ts-ignore
|
||
|
menuitem.__docgenInfo = { "description": "", "displayName": "menuitem", "props": { "checked": { "defaultValue": null, "description": "Whether the menu item is checked or not. Only relevant for menu items with `isCheckbox`.", "name": "checked", "required": false, "type": { "name": "boolean" } }, "children": { "defaultValue": null, "description": "A renderable component (or string) which will be displayed as the content of this item. Generally a `ToggleControl`.", "name": "children", "required": false, "type": { "name": "ReactNode" } }, "isCheckbox": { "defaultValue": { value: "false" }, "description": "Whether the menu item is a checkbox (will render a FormToggle and use the `menuitemcheckbox` role).", "name": "isCheckbox", "required": false, "type": { "name": "boolean" } }, "isClickable": { "defaultValue": { value: "false" }, "description": "Boolean to control whether the MenuItem should handle the click event. Defaults to false, assuming your child component\nhandles the click event.", "name": "isClickable", "required": false, "type": { "name": "boolean" } }, "onInvoke": { "defaultValue": { value: "() => {}" }, "description": "A function called when this item is activated via keyboard ENTER or SPACE; or when the item is clicked\n(only if `isClickable` is set).", "name": "onInvoke", "required": false, "type": { "name": "(() => void)" } } } };
|
||
|
// @ts-ignore
|
||
|
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
|
||
|
// @ts-ignore
|
||
|
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/ellipsis-menu/menu-item.tsx#menuitem"] = { docgenInfo: menuitem.__docgenInfo, name: "menuitem", path: "../../packages/js/components/src/ellipsis-menu/menu-item.tsx#menuitem" };
|
||
|
}
|
||
|
catch (__react_docgen_typescript_loader_error) { }
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../packages/js/components/src/ellipsis-menu/menu-title.tsx":
|
||
|
/***/ ((__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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
|
||
|
|
||
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* `MenuTitle` is another valid Menu child, but this does not have any accessibility attributes associated
|
||
|
* (so this should not be used in place of the `EllipsisMenu` prop `label`).
|
||
|
*/
|
||
|
|
||
|
var MenuTitle = function MenuTitle(_ref) {
|
||
|
var children = _ref.children;
|
||
|
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||
|
className: "woocommerce-ellipsis-menu__title"
|
||
|
}, children);
|
||
|
};
|
||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MenuTitle);
|
||
|
try {
|
||
|
// @ts-ignore
|
||
|
menutitle.displayName = "menutitle";
|
||
|
// @ts-ignore
|
||
|
menutitle.__docgenInfo = { "description": "`MenuTitle` is another valid Menu child, but this does not have any accessibility attributes associated\n(so this should not be used in place of the `EllipsisMenu` prop `label`).", "displayName": "menutitle", "props": { "children": { "defaultValue": null, "description": "A renderable component (or string) which will be displayed as the content of this item.", "name": "children", "required": true, "type": { "name": "ReactNode" } } } };
|
||
|
// @ts-ignore
|
||
|
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
|
||
|
// @ts-ignore
|
||
|
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/ellipsis-menu/menu-title.tsx#menutitle"] = { docgenInfo: menutitle.__docgenInfo, name: "menutitle", path: "../../packages/js/components/src/ellipsis-menu/menu-title.tsx#menutitle" };
|
||
|
}
|
||
|
catch (__react_docgen_typescript_loader_error) { }
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/gridicons@3.4.2_react@17.0.2/node_modules/gridicons/dist/cross-small.js":
|
||
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
||
|
var __webpack_unused_export__;
|
||
|
__webpack_unused_export__ = ({value:!0}),exports.A=_default;var _react=_interopRequireDefault(__webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js")),_excluded=["size","onClick","icon","className"];function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _default(a){var b=a.size,c=void 0===b?24:b,d=a.onClick,e=a.icon,f=a.className,g=_objectWithoutProperties(a,_excluded),h=["gridicon","gridicons-cross-small",f,!1,!1,!1].filter(Boolean).join(" ");return _react["default"].createElement("svg",_extends({className:h,height:c,width:c,onClick:d},g,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}),_react["default"].createElement("g",null,_react["default"].createElement("path",{d:"M17.705 7.705l-1.41-1.41L12 10.59 7.705 6.295l-1.41 1.41L10.59 12l-4.295 4.295 1.41 1.41L12 13.41l4.295 4.295 1.41-1.41L13.41 12l4.295-4.295z"})))}
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../node_modules/.pnpm/gridicons@3.4.2_react@17.0.2/node_modules/gridicons/dist/ellipsis.js":
|
||
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
||
|
var __webpack_unused_export__;
|
||
|
__webpack_unused_export__ = ({value:!0}),exports.A=_default;var _react=_interopRequireDefault(__webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js")),_excluded=["size","onClick","icon","className"];function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _default(a){var b=a.size,c=void 0===b?24:b,d=a.onClick,e=a.icon,f=a.className,g=_objectWithoutProperties(a,_excluded),h=["gridicon","gridicons-ellipsis",f,!1,!1,!1].filter(Boolean).join(" ");return _react["default"].createElement("svg",_extends({className:h,height:c,width:c,onClick:d},g,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}),_react["default"].createElement("g",null,_react["default"].createElement("path",{d:"M7 12a2 2 0 11-4.001-.001A2 2 0 017 12zm12-2a2 2 0 10.001 4.001A2 2 0 0019 10zm-7 0a2 2 0 10.001 4.001A2 2 0 0012 10z"})))}
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "../../packages/js/components/src/ellipsis-menu/stories/ellipsis-menu.story.js":
|
||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
|
/* harmony export */ Basic: () => (/* binding */ Basic),
|
||
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
|
/* harmony export */ });
|
||
|
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.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 _wordpress_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/icon/index.js");
|
||
|
/* harmony import */ var gridicons_dist_cross_small__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/gridicons@3.4.2_react@17.0.2/node_modules/gridicons/dist/cross-small.js");
|
||
|
/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../packages/js/components/src/ellipsis-menu/index.tsx");
|
||
|
/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../packages/js/components/src/ellipsis-menu/menu-title.tsx");
|
||
|
/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../packages/js/components/src/ellipsis-menu/menu-item.tsx");
|
||
|
|
||
|
|
||
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
var ExampleEllipsisMenu = function ExampleEllipsisMenu() {
|
||
|
var _useState = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.useState)({
|
||
|
showCustomers: true,
|
||
|
showOrders: true
|
||
|
}),
|
||
|
_useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(_useState, 2),
|
||
|
_useState2$ = _useState2[0],
|
||
|
showCustomers = _useState2$.showCustomers,
|
||
|
showOrders = _useState2$.showOrders,
|
||
|
setState = _useState2[1];
|
||
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_woocommerce_components__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, {
|
||
|
label: "Choose which analytics to display",
|
||
|
renderContent: function renderContent(_ref) {
|
||
|
var onToggle = _ref.onToggle;
|
||
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_woocommerce_components__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, null, "Display stats"), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_woocommerce_components__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
|
||
|
isCheckbox: true,
|
||
|
isClickable: true,
|
||
|
checked: showCustomers,
|
||
|
onInvoke: function onInvoke() {
|
||
|
return setState({
|
||
|
showOrders: showOrders,
|
||
|
showCustomers: !showCustomers
|
||
|
});
|
||
|
}
|
||
|
}, "Show Customers"), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_woocommerce_components__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
|
||
|
isCheckbox: true,
|
||
|
isClickable: true,
|
||
|
checked: showOrders,
|
||
|
onInvoke: function onInvoke() {
|
||
|
return setState({
|
||
|
showCustomers: showCustomers,
|
||
|
showOrders: !showOrders
|
||
|
});
|
||
|
}
|
||
|
}, "Show Orders"), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_woocommerce_components__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
|
||
|
isClickable: true,
|
||
|
onInvoke: onToggle
|
||
|
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, {
|
||
|
icon: (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(gridicons_dist_cross_small__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A, null)
|
||
|
}), "Close Menu"));
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
var Basic = function Basic() {
|
||
|
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(ExampleEllipsisMenu, null);
|
||
|
};
|
||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
|
title: 'WooCommerce Admin/components/EllipsisMenu',
|
||
|
component: _woocommerce_components__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A
|
||
|
});
|
||
|
Basic.parameters = {
|
||
|
...Basic.parameters,
|
||
|
docs: {
|
||
|
...Basic.parameters?.docs,
|
||
|
source: {
|
||
|
originalSource: "() => <ExampleEllipsisMenu />",
|
||
|
...Basic.parameters?.docs?.source
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/***/ })
|
||
|
|
||
|
}]);
|