woocommerce/table-stories-table-card-st...

1533 lines
84 KiB
JavaScript

"use strict";
(self["webpackChunk_woocommerce_storybook"] = self["webpackChunk_woocommerce_storybook"] || []).push([[6933],{
/***/ "../../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) { }
/***/ }),
/***/ "../../packages/js/components/src/pagination/page-size-picker.tsx":
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ $: () => (/* binding */ PageSizePicker),
/* harmony export */ v: () => (/* binding */ DEFAULT_PER_PAGE_OPTIONS)
/* harmony export */ });
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.parse-int.js");
/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.map.js");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.date.to-string.js");
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.regexp.to-string.js");
/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __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/select-control/index.js");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+i18n@4.6.1/node_modules/@wordpress/i18n/build-module/index.js");
/**
* External dependencies
*/
var DEFAULT_PER_PAGE_OPTIONS = [25, 50, 75, 100];
function PageSizePicker(_ref) {
var perPage = _ref.perPage,
currentPage = _ref.currentPage,
total = _ref.total,
setCurrentPage = _ref.setCurrentPage,
_ref$setPerPageChange = _ref.setPerPageChange,
setPerPageChange = _ref$setPerPageChange === void 0 ? function () {} : _ref$setPerPageChange,
_ref$perPageOptions = _ref.perPageOptions,
perPageOptions = _ref$perPageOptions === void 0 ? DEFAULT_PER_PAGE_OPTIONS : _ref$perPageOptions,
_ref$label = _ref.label,
label = _ref$label === void 0 ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Rows per page', 'woocommerce') : _ref$label;
function perPageChange(newPerPage) {
setPerPageChange(parseInt(newPerPage, 10));
var newMaxPage = Math.ceil(total / parseInt(newPerPage, 10));
if (currentPage > newMaxPage) {
setCurrentPage(newMaxPage);
}
}
// @todo Replace this with a styleized Select drop-down/control?
var pickerOptions = perPageOptions.map(function (option) {
return {
value: option.toString(),
label: option.toString()
};
});
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_6__.createElement)("div", {
className: "woocommerce-pagination__per-page-picker"
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_6__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A, {
label: label
// @ts-expect-error outdated types file.
,
labelPosition: "side",
value: perPage.toString(),
onChange: perPageChange,
options: pickerOptions
}));
}
try {
// @ts-ignore
PageSizePicker.displayName = "PageSizePicker";
// @ts-ignore
PageSizePicker.__docgenInfo = { "description": "", "displayName": "PageSizePicker", "props": { "currentPage": { "defaultValue": null, "description": "", "name": "currentPage", "required": true, "type": { "name": "number" } }, "perPage": { "defaultValue": null, "description": "", "name": "perPage", "required": true, "type": { "name": "number" } }, "total": { "defaultValue": null, "description": "", "name": "total", "required": true, "type": { "name": "number" } }, "setCurrentPage": { "defaultValue": null, "description": "", "name": "setCurrentPage", "required": true, "type": { "name": "(page: number, action?: \"previous\" | \"next\" | \"goto\" | undefined) => void" } }, "setPerPageChange": { "defaultValue": { value: "() => {}" }, "description": "", "name": "setPerPageChange", "required": false, "type": { "name": "((perPage: number) => void)" } }, "perPageOptions": { "defaultValue": { value: "[ 25, 50, 75, 100 ]" }, "description": "", "name": "perPageOptions", "required": false, "type": { "name": "number[]" } }, "label": { "defaultValue": { value: "__( 'Rows per page', 'woocommerce' )" }, "description": "", "name": "label", "required": false, "type": { "name": "string" } } } };
// @ts-ignore
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
// @ts-ignore
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/pagination/page-size-picker.tsx#PageSizePicker"] = { docgenInfo: PageSizePicker.__docgenInfo, name: "PageSizePicker", path: "../../packages/js/components/src/pagination/page-size-picker.tsx#PageSizePicker" };
}
catch (__react_docgen_typescript_loader_error) { }
/***/ }),
/***/ "../../packages/js/components/src/pagination/pagination.tsx":
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
d: () => (/* binding */ Pagination)
});
// 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/@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/icon/index.js + 1 modules
var icon = __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/icon/index.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/library/chevron-left.js
var chevron_left = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/library/chevron-left.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/library/chevron-right.js
var chevron_right = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/library/chevron-right.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/components/src/pagination/page-arrows.tsx
/**
* External dependencies
*/
function PageArrows(_ref) {
var pageCount = _ref.pageCount,
currentPage = _ref.currentPage,
_ref$showPageArrowsLa = _ref.showPageArrowsLabel,
showPageArrowsLabel = _ref$showPageArrowsLa === void 0 ? true : _ref$showPageArrowsLa,
setCurrentPage = _ref.setCurrentPage;
function previousPage(event) {
event.stopPropagation();
if (currentPage - 1 < 1) {
return;
}
setCurrentPage(currentPage - 1, 'previous');
}
function nextPage(event) {
event.stopPropagation();
if (currentPage + 1 > pageCount) {
return;
}
setCurrentPage(currentPage + 1, 'next');
}
if (pageCount <= 1) {
return null;
}
var previousLinkClass = classnames_default()('woocommerce-pagination__link', {
'is-active': currentPage > 1
});
var nextLinkClass = classnames_default()('woocommerce-pagination__link', {
'is-active': currentPage < pageCount
});
return (0,react.createElement)("div", {
className: "woocommerce-pagination__page-arrows"
}, showPageArrowsLabel && (0,react.createElement)("span", {
className: "woocommerce-pagination__page-arrows-label",
role: "status",
"aria-live": "polite"
}, (0,build_module/* sprintf */.nv)( /* translators: 1: current page number, 2: total number of pages */
(0,build_module.__)('Page %1$d of %2$d', 'woocommerce'), currentPage, pageCount)), (0,react.createElement)("div", {
className: "woocommerce-pagination__page-arrows-buttons"
}, (0,react.createElement)(build_module_button/* default */.A, {
className: previousLinkClass,
disabled: !(currentPage > 1),
onClick: previousPage,
label: (0,build_module.__)('Previous Page', 'woocommerce')
}, (0,react.createElement)(icon/* default */.A, {
icon: chevron_left/* default */.A
})), (0,react.createElement)(build_module_button/* default */.A, {
className: nextLinkClass,
disabled: !(currentPage < pageCount),
onClick: nextPage,
label: (0,build_module.__)('Next Page', 'woocommerce')
}, (0,react.createElement)(icon/* default */.A, {
icon: chevron_right/* default */.A
}))));
}
try {
// @ts-ignore
PageArrows.displayName = "PageArrows";
// @ts-ignore
PageArrows.__docgenInfo = { "description": "", "displayName": "PageArrows", "props": { "currentPage": { "defaultValue": null, "description": "", "name": "currentPage", "required": true, "type": { "name": "number" } }, "pageCount": { "defaultValue": null, "description": "", "name": "pageCount", "required": true, "type": { "name": "number" } }, "showPageArrowsLabel": { "defaultValue": { value: "true" }, "description": "", "name": "showPageArrowsLabel", "required": false, "type": { "name": "boolean" } }, "setCurrentPage": { "defaultValue": null, "description": "", "name": "setCurrentPage", "required": true, "type": { "name": "(page: number, action?: \"previous\" | \"next\" | \"goto\" | undefined) => void" } } } };
// @ts-ignore
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
// @ts-ignore
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/pagination/page-arrows.tsx#PageArrows"] = { docgenInfo: PageArrows.__docgenInfo, name: "PageArrows", path: "../../packages/js/components/src/pagination/page-arrows.tsx#PageArrows" };
}
catch (__react_docgen_typescript_loader_error) { }
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.parse-int.js
var es_parse_int = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.parse-int.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.number.is-finite.js
var es_number_is_finite = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.number.is-finite.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.number.constructor.js
var es_number_constructor = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.number.constructor.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");
;// CONCATENATED MODULE: ../../packages/js/components/src/pagination/page-picker.tsx
/**
* External dependencies
*/
function PagePicker(_ref) {
var pageCount = _ref.pageCount,
currentPage = _ref.currentPage,
setCurrentPage = _ref.setCurrentPage;
var _useState = (0,react.useState)(currentPage),
_useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
inputValue = _useState2[0],
setInputValue = _useState2[1];
function onInputChange(event) {
setInputValue(parseInt(event.currentTarget.value, 10));
}
function onInputBlur(event) {
var newPage = parseInt(event.target.value, 10);
if (newPage !== currentPage && Number.isFinite(newPage) && newPage > 0 && pageCount && pageCount >= newPage) {
setCurrentPage(newPage, 'goto');
}
}
function selectInputValue(event) {
event.currentTarget.select();
}
var isError = currentPage < 1 || currentPage > pageCount;
var inputClass = classnames_default()('woocommerce-pagination__page-picker-input', {
'has-error': isError
});
var instanceId = (0,lodash.uniqueId)('woocommerce-pagination-page-picker-');
return (0,react.createElement)("div", {
className: "woocommerce-pagination__page-picker"
}, (0,react.createElement)("label", {
htmlFor: instanceId,
className: "woocommerce-pagination__page-picker-label"
}, (0,build_module.__)('Go to page', 'woocommerce'), (0,react.createElement)("input", {
id: instanceId,
className: inputClass,
"aria-invalid": isError,
type: "number",
onClick: selectInputValue,
onChange: onInputChange,
onBlur: onInputBlur,
value: inputValue,
min: 1,
max: pageCount
})));
}
try {
// @ts-ignore
PagePicker.displayName = "PagePicker";
// @ts-ignore
PagePicker.__docgenInfo = { "description": "", "displayName": "PagePicker", "props": { "currentPage": { "defaultValue": null, "description": "", "name": "currentPage", "required": true, "type": { "name": "number" } }, "pageCount": { "defaultValue": null, "description": "", "name": "pageCount", "required": true, "type": { "name": "number" } }, "setCurrentPage": { "defaultValue": null, "description": "", "name": "setCurrentPage", "required": true, "type": { "name": "(page: number, action?: \"previous\" | \"next\" | \"goto\" | undefined) => void" } } } };
// @ts-ignore
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
// @ts-ignore
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/pagination/page-picker.tsx#PagePicker"] = { docgenInfo: PagePicker.__docgenInfo, name: "PagePicker", path: "../../packages/js/components/src/pagination/page-picker.tsx#PagePicker" };
}
catch (__react_docgen_typescript_loader_error) { }
// EXTERNAL MODULE: ../../packages/js/components/src/pagination/page-size-picker.tsx
var page_size_picker = __webpack_require__("../../packages/js/components/src/pagination/page-size-picker.tsx");
;// CONCATENATED MODULE: ../../packages/js/components/src/pagination/pagination.tsx
/**
* External dependencies
*/
/**
* Internal dependencies
*/
function Pagination(_ref) {
var page = _ref.page,
_ref$onPageChange = _ref.onPageChange,
onPageChange = _ref$onPageChange === void 0 ? function () {} : _ref$onPageChange,
total = _ref.total,
perPage = _ref.perPage,
_ref$onPerPageChange = _ref.onPerPageChange,
onPerPageChange = _ref$onPerPageChange === void 0 ? function () {} : _ref$onPerPageChange,
_ref$showPagePicker = _ref.showPagePicker,
showPagePicker = _ref$showPagePicker === void 0 ? true : _ref$showPagePicker,
_ref$showPerPagePicke = _ref.showPerPagePicker,
showPerPagePicker = _ref$showPerPagePicke === void 0 ? true : _ref$showPerPagePicke,
_ref$showPageArrowsLa = _ref.showPageArrowsLabel,
showPageArrowsLabel = _ref$showPageArrowsLa === void 0 ? true : _ref$showPageArrowsLa,
className = _ref.className,
_ref$perPageOptions = _ref.perPageOptions,
perPageOptions = _ref$perPageOptions === void 0 ? page_size_picker/* DEFAULT_PER_PAGE_OPTIONS */.v : _ref$perPageOptions,
children = _ref.children;
var pageCount = Math.ceil(total / perPage);
if (children && typeof children === 'function') {
return children({
pageCount: pageCount
});
}
var classes = classnames_default()('woocommerce-pagination', className);
if (pageCount <= 1) {
return total > perPageOptions[0] && (0,react.createElement)("div", {
className: classes
}, (0,react.createElement)(page_size_picker/* PageSizePicker */.$, {
currentPage: page,
perPage: perPage,
setCurrentPage: onPageChange,
total: total,
setPerPageChange: onPerPageChange,
perPageOptions: perPageOptions
})) || null;
}
return (0,react.createElement)("div", {
className: classes
}, (0,react.createElement)(PageArrows, {
currentPage: page,
pageCount: pageCount,
showPageArrowsLabel: showPageArrowsLabel,
setCurrentPage: onPageChange
}), showPagePicker && (0,react.createElement)(PagePicker, {
currentPage: page,
pageCount: pageCount,
setCurrentPage: onPageChange
}), showPerPagePicker && (0,react.createElement)(page_size_picker/* PageSizePicker */.$, {
currentPage: page,
perPage: perPage,
setCurrentPage: onPageChange,
total: total,
setPerPageChange: onPerPageChange,
perPageOptions: perPageOptions
}));
}
try {
// @ts-ignore
Pagination.displayName = "Pagination";
// @ts-ignore
Pagination.__docgenInfo = { "description": "", "displayName": "Pagination", "props": { "page": { "defaultValue": null, "description": "", "name": "page", "required": true, "type": { "name": "number" } }, "perPage": { "defaultValue": null, "description": "", "name": "perPage", "required": true, "type": { "name": "number" } }, "total": { "defaultValue": null, "description": "", "name": "total", "required": true, "type": { "name": "number" } }, "onPageChange": { "defaultValue": { value: "() => {}" }, "description": "", "name": "onPageChange", "required": false, "type": { "name": "((page: number, action?: \"previous\" | \"next\" | \"goto\") => void)" } }, "onPerPageChange": { "defaultValue": { value: "() => {}" }, "description": "", "name": "onPerPageChange", "required": false, "type": { "name": "((perPage: number) => void)" } }, "className": { "defaultValue": null, "description": "", "name": "className", "required": false, "type": { "name": "string" } }, "showPagePicker": { "defaultValue": { value: "true" }, "description": "", "name": "showPagePicker", "required": false, "type": { "name": "boolean" } }, "showPerPagePicker": { "defaultValue": { value: "true" }, "description": "", "name": "showPerPagePicker", "required": false, "type": { "name": "boolean" } }, "showPageArrowsLabel": { "defaultValue": { value: "true" }, "description": "", "name": "showPageArrowsLabel", "required": false, "type": { "name": "boolean" } }, "perPageOptions": { "defaultValue": { value: "[ 25, 50, 75, 100 ]" }, "description": "", "name": "perPageOptions", "required": false, "type": { "name": "number[]" } } } };
// @ts-ignore
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
// @ts-ignore
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/pagination/pagination.tsx#Pagination"] = { docgenInfo: Pagination.__docgenInfo, name: "Pagination", path: "../../packages/js/components/src/pagination/pagination.tsx#Pagination" };
}
catch (__react_docgen_typescript_loader_error) { }
/***/ }),
/***/ "../../packages/js/components/src/table/placeholder.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 _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js");
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.map.js");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.keys.js");
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.symbol.js");
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.filter.js");
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.for-each.js");
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/web.dom-collections.for-each.js");
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.define-properties.js");
/* harmony import */ var core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.define-property.js");
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js");
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("../../packages/js/components/src/table/table.tsx");
var _excluded = ["query", "caption", "headers", "numberOfRows"];
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
/**
* External dependencies
*/
/**
* Internal dependencies
*/
/**
* `TablePlaceholder` behaves like `Table` but displays placeholder boxes instead of data. This can be used while loading.
*/
var TablePlaceholder = function TablePlaceholder(_ref) {
var query = _ref.query,
caption = _ref.caption,
headers = _ref.headers,
_ref$numberOfRows = _ref.numberOfRows,
numberOfRows = _ref$numberOfRows === void 0 ? 5 : _ref$numberOfRows,
props = (0,_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .A)(_ref, _excluded);
var rows = (0,lodash__WEBPACK_IMPORTED_MODULE_12__.range)(numberOfRows).map(function () {
return headers.map(function () {
return {
display: (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_14__.createElement)("span", {
className: "is-placeholder"
})
};
});
});
var tableProps = _objectSpread({
query: query,
caption: caption,
headers: headers,
numberOfRows: numberOfRows
}, props);
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_14__.createElement)(_table__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A, (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .A)({
ariaHidden: true,
className: "is-loading",
rows: rows
}, tableProps));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TablePlaceholder);
/***/ }),
/***/ "../../packages/js/components/src/table/stories/index.ts":
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Ge: () => (/* binding */ rows),
/* harmony export */ b3: () => (/* binding */ headers),
/* harmony export */ z: () => (/* binding */ summary)
/* harmony export */ });
var headers = [{
key: 'month',
label: 'Month'
}, {
key: 'orders',
label: 'Orders'
}, {
key: 'revenue',
label: 'Revenue'
}];
var rows = [[{
display: 'January',
value: 1
}, {
display: 10,
value: 10
}, {
display: '$530.00',
value: 530
}], [{
display: 'February',
value: 2
}, {
display: 13,
value: 13
}, {
display: '$675.00',
value: 675
}], [{
display: 'March',
value: 3
}, {
display: 9,
value: 9
}, {
display: '$460.00',
value: 460
}]];
var summary = [{
label: 'Gross Income',
value: '$830.00'
}, {
label: 'Taxes',
value: '$96.32'
}, {
label: 'Shipping',
value: '$50.00'
}];
/***/ }),
/***/ "../../packages/js/components/src/table/summary.tsx":
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__),
/* harmony export */ W: () => (/* binding */ TableSummaryPlaceholder)
/* harmony export */ });
/* 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 core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.map.js");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);
/**
* External dependencies
*/
/**
* Internal dependencies
*/
/**
* A component to display summarized table data - the list of data passed in on a single line.
*/
var TableSummary = function TableSummary(_ref) {
var data = _ref.data;
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", {
className: "woocommerce-table__summary",
role: "complementary"
}, data.map(function (_ref2, i) {
var label = _ref2.label,
value = _ref2.value;
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", {
className: "woocommerce-table__summary-item",
key: i
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", {
className: "woocommerce-table__summary-value"
}, value), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", {
className: "woocommerce-table__summary-label"
}, label));
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TableSummary);
/**
* A component to display a placeholder box for `TableSummary`. There is no prop for this component.
*
* @return {Object} -
*/
var TableSummaryPlaceholder = function TableSummaryPlaceholder() {
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", {
className: "woocommerce-table__summary is-loading",
role: "complementary"
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", {
className: "woocommerce-table__summary-item"
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", {
className: "is-placeholder"
})));
};
try {
// @ts-ignore
summary.displayName = "summary";
// @ts-ignore
summary.__docgenInfo = { "description": "A component to display summarized table data - the list of data passed in on a single line.", "displayName": "summary", "props": { "data": { "defaultValue": null, "description": "", "name": "data", "required": true, "type": { "name": "{ label: string; value: ReactNode; }[]" } } } };
// @ts-ignore
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
// @ts-ignore
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/table/summary.tsx#summary"] = { docgenInfo: summary.__docgenInfo, name: "summary", path: "../../packages/js/components/src/table/summary.tsx#summary" };
}
catch (__react_docgen_typescript_loader_error) { }
try {
// @ts-ignore
TableSummaryPlaceholder.displayName = "TableSummaryPlaceholder";
// @ts-ignore
TableSummaryPlaceholder.__docgenInfo = { "description": "A component to display a placeholder box for `TableSummary`. There is no prop for this component.", "displayName": "TableSummaryPlaceholder", "props": {} };
// @ts-ignore
if (typeof STORYBOOK_REACT_CLASSES !== "undefined")
// @ts-ignore
STORYBOOK_REACT_CLASSES["../../packages/js/components/src/table/summary.tsx#TableSummaryPlaceholder"] = { docgenInfo: TableSummaryPlaceholder.__docgenInfo, name: "TableSummaryPlaceholder", path: "../../packages/js/components/src/table/summary.tsx#TableSummaryPlaceholder" };
}
catch (__react_docgen_typescript_loader_error) { }
/***/ }),
/***/ "../../packages/js/components/src/table/table.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 _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/extends.js");
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.map.js");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.concat.js");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.date.to-string.js");
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.regexp.to-string.js");
/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+i18n@4.6.1/node_modules/@wordpress/i18n/build-module/index.js");
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js");
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_13__ = __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 lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js");
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+compose@5.4.1_react@17.0.2/node_modules/@wordpress/compose/build-module/higher-order/with-instance-id/index.js");
/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/icon/index.js");
/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/library/chevron-up.js");
/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+icons@8.2.3/node_modules/@wordpress/icons/build-module/library/chevron-down.js");
/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("../../node_modules/.pnpm/@wordpress+deprecated@3.6.1/node_modules/@wordpress/deprecated/build-module/index.js");
var _excluded = ["instanceId", "headers", "rows", "ariaHidden", "caption", "className", "onSort", "query", "rowHeader", "rowKey", "emptyMessage"];
/**
* External dependencies
*/
/**
* Internal dependencies
*/
var ASC = 'asc';
var DESC = 'desc';
var getDisplay = function getDisplay(cell) {
return cell.display || null;
};
/**
* A table component, without the Card wrapper. This is a basic table display, sortable, but no default filtering.
*
* Row data should be passed to the component as a list of arrays, where each array is a row in the table.
* Headers are passed in separately as an array of objects with column-related properties. For example,
* this data would render the following table.
*
* ```js
* const headers = [ { label: 'Month' }, { label: 'Orders' }, { label: 'Revenue' } ];
* const rows = [
* [
* { display: 'January', value: 1 },
* { display: 10, value: 10 },
* { display: '$530.00', value: 530 },
* ],
* [
* { display: 'February', value: 2 },
* { display: 13, value: 13 },
* { display: '$675.00', value: 675 },
* ],
* [
* { display: 'March', value: 3 },
* { display: 9, value: 9 },
* { display: '$460.00', value: 460 },
* ],
* ]
* ```
*
* | Month | Orders | Revenue |
* | ---------|--------|---------|
* | January | 10 | $530.00 |
* | February | 13 | $675.00 |
* | March | 9 | $460.00 |
*/
var Table = function Table(_ref) {
var instanceId = _ref.instanceId,
_ref$headers = _ref.headers,
headers = _ref$headers === void 0 ? [] : _ref$headers,
_ref$rows = _ref.rows,
rows = _ref$rows === void 0 ? [] : _ref$rows,
ariaHidden = _ref.ariaHidden,
caption = _ref.caption,
className = _ref.className,
_ref$onSort = _ref.onSort,
onSort = _ref$onSort === void 0 ? function (f) {
return f;
} : _ref$onSort,
_ref$query = _ref.query,
query = _ref$query === void 0 ? {} : _ref$query,
rowHeader = _ref.rowHeader,
rowKey = _ref.rowKey,
emptyMessage = _ref.emptyMessage,
props = (0,_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(_ref, _excluded);
var classNames = props.classNames;
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_8__.useState)(undefined),
_useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(_useState, 2),
tabIndex = _useState2[0],
setTabIndex = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_8__.useState)(false),
_useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(_useState3, 2),
isScrollableRight = _useState4[0],
setIsScrollableRight = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_8__.useState)(false),
_useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(_useState5, 2),
isScrollableLeft = _useState6[0],
setIsScrollableLeft = _useState6[1];
var container = (0,react__WEBPACK_IMPORTED_MODULE_8__.useRef)(null);
if (classNames) {
(0,_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)("Table component's classNames prop", {
since: '11.1.0',
version: '12.0.0',
alternative: 'className',
plugin: '@woocommerce/components'
});
}
var classes = classnames__WEBPACK_IMPORTED_MODULE_6___default()('woocommerce-table__table', classNames, className, {
'is-scrollable-right': isScrollableRight,
'is-scrollable-left': isScrollableLeft
});
var sortBy = function sortBy(key) {
return function () {
var currentKey = query.orderby || (0,lodash__WEBPACK_IMPORTED_MODULE_7__.get)((0,lodash__WEBPACK_IMPORTED_MODULE_7__.find)(headers, {
defaultSort: true
}), 'key', false);
var currentDir = query.order || (0,lodash__WEBPACK_IMPORTED_MODULE_7__.get)((0,lodash__WEBPACK_IMPORTED_MODULE_7__.find)(headers, {
key: currentKey
}), 'defaultOrder', DESC);
var dir = DESC;
if (key === currentKey) {
dir = DESC === currentDir ? ASC : DESC;
}
onSort(key, dir);
};
};
var getRowKey = function getRowKey(row, index) {
if (rowKey && typeof rowKey === 'function') {
return rowKey(row, index);
}
return index;
};
var updateTableShadow = function updateTableShadow() {
var table = container.current;
if (table !== null && table !== void 0 && table.scrollWidth && table !== null && table !== void 0 && table.scrollHeight && table !== null && table !== void 0 && table.offsetWidth) {
var scrolledToEnd = (table === null || table === void 0 ? void 0 : table.scrollWidth) - (table === null || table === void 0 ? void 0 : table.scrollLeft) <= (table === null || table === void 0 ? void 0 : table.offsetWidth);
if (scrolledToEnd && isScrollableRight) {
setIsScrollableRight(false);
} else if (!scrolledToEnd && !isScrollableRight) {
setIsScrollableRight(true);
}
}
if (table !== null && table !== void 0 && table.scrollLeft) {
var scrolledToStart = (table === null || table === void 0 ? void 0 : table.scrollLeft) <= 0;
if (scrolledToStart && isScrollableLeft) {
setIsScrollableLeft(false);
} else if (!scrolledToStart && !isScrollableLeft) {
setIsScrollableLeft(true);
}
}
};
var sortedBy = query.orderby || (0,lodash__WEBPACK_IMPORTED_MODULE_7__.get)((0,lodash__WEBPACK_IMPORTED_MODULE_7__.find)(headers, {
defaultSort: true
}), 'key', false);
var sortDir = query.order || (0,lodash__WEBPACK_IMPORTED_MODULE_7__.get)((0,lodash__WEBPACK_IMPORTED_MODULE_7__.find)(headers, {
key: sortedBy
}), 'defaultOrder', DESC);
var hasData = !!rows.length;
(0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () {
var _container$current, _container$current2;
var scrollWidth = (_container$current = container.current) === null || _container$current === void 0 ? void 0 : _container$current.scrollWidth;
var clientWidth = (_container$current2 = container.current) === null || _container$current2 === void 0 ? void 0 : _container$current2.clientWidth;
if (scrollWidth === undefined || clientWidth === undefined) {
return;
}
var scrollable = scrollWidth > clientWidth;
setTabIndex(scrollable ? 0 : undefined);
updateTableShadow();
window.addEventListener('resize', updateTableShadow);
return function () {
window.removeEventListener('resize', updateTableShadow);
};
}, []);
(0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(updateTableShadow, [headers, rows, emptyMessage]);
return (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("div", {
className: classes,
ref: container,
tabIndex: tabIndex,
"aria-hidden": ariaHidden,
"aria-labelledby": "caption-".concat(instanceId),
role: "group",
onScroll: updateTableShadow
}, (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("table", null, (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("caption", {
id: "caption-".concat(instanceId),
className: "woocommerce-table__caption screen-reader-text"
}, caption, tabIndex === 0 && (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("small", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('(scroll to see more)', 'woocommerce'))), (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("tbody", null, (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("tr", null, headers.map(function (header, i) {
var cellClassName = header.cellClassName,
isLeftAligned = header.isLeftAligned,
isSortable = header.isSortable,
isNumeric = header.isNumeric,
key = header.key,
label = header.label,
screenReaderLabel = header.screenReaderLabel;
var labelId = "header-".concat(instanceId, "-").concat(i);
var thProps = {
className: classnames__WEBPACK_IMPORTED_MODULE_6___default()('woocommerce-table__header', cellClassName, {
'is-left-aligned': isLeftAligned || !isNumeric,
'is-sortable': isSortable,
'is-sorted': sortedBy === key,
'is-numeric': isNumeric
})
};
if (isSortable) {
thProps['aria-sort'] = 'none';
if (sortedBy === key) {
thProps['aria-sort'] = sortDir === ASC ? 'ascending' : 'descending';
}
}
// We only sort by ascending if the col is already sorted descending
var iconLabel = sortedBy === key && sortDir !== ASC ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__/* .sprintf */ .nv)( /* translators: %s: column label */
(0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Sort by %s in ascending order', 'woocommerce'), screenReaderLabel || label) : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__/* .sprintf */ .nv)( /* translators: %s: column label */
(0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Sort by %s in descending order', 'woocommerce'), screenReaderLabel || label);
var textLabel = (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)(react__WEBPACK_IMPORTED_MODULE_8__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("span", {
"aria-hidden": Boolean(screenReaderLabel)
}, label), screenReaderLabel && (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("span", {
className: "screen-reader-text"
}, screenReaderLabel));
return (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("th", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)({
role: "columnheader",
scope: "col",
key: header.key || i
}, thProps), isSortable ? (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)(react__WEBPACK_IMPORTED_MODULE_8__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .A, {
"aria-describedby": labelId,
onClick: hasData ? sortBy(key) : lodash__WEBPACK_IMPORTED_MODULE_7__.noop
}, sortedBy === key && sortDir === ASC ? (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A, {
icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A
}) : (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A, {
icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .A
}), textLabel), (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("span", {
className: "screen-reader-text",
id: labelId
}, iconLabel)) : textLabel);
})), hasData ? rows.map(function (row, i) {
return (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("tr", {
key: getRowKey(row, i)
}, row.map(function (cell, j) {
var _headers$j = headers[j],
cellClassName = _headers$j.cellClassName,
isLeftAligned = _headers$j.isLeftAligned,
isNumeric = _headers$j.isNumeric;
var isHeader = rowHeader === j;
var Cell = isHeader ? 'th' : 'td';
var cellClasses = classnames__WEBPACK_IMPORTED_MODULE_6___default()('woocommerce-table__item', cellClassName, {
'is-left-aligned': isLeftAligned || !isNumeric,
'is-numeric': isNumeric,
'is-sorted': sortedBy === headers[j].key
});
var cellKey = getRowKey(row, i).toString() + j;
return (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)(Cell, {
scope: isHeader ? 'row' : undefined,
key: cellKey,
className: cellClasses
}, getDisplay(cell));
}));
}) : (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("tr", null, (0,react__WEBPACK_IMPORTED_MODULE_8__.createElement)("td", {
className: "woocommerce-table__empty-item",
colSpan: headers.length
}, emptyMessage !== null && emptyMessage !== void 0 ? emptyMessage : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('No data to display', 'woocommerce'))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_wordpress_compose__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A)(Table));
/***/ }),
/***/ "../../packages/js/components/src/table/stories/table-card.story.tsx":
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Actions: () => (/* binding */ Actions),
Basic: () => (/* binding */ Basic),
"default": () => (/* binding */ table_card_story)
});
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/slicedToArray.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/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
var toConsumableArray = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.23.5/node_modules/@babel/runtime/helpers/esm/toConsumableArray.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/core-js@3.34.0/node_modules/core-js/modules/es.array.filter.js
var es_array_filter = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.filter.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.to-string.js
var es_object_to_string = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.object.to-string.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.map.js
var es_array_map = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.map.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.includes.js
var es_array_includes = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.includes.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.string.includes.js
var es_string_includes = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.string.includes.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.concat.js
var es_array_concat = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.array.concat.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.date.to-string.js
var es_date_to_string = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.date.to-string.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.regexp.to-string.js
var es_regexp_to_string = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.regexp.to-string.js");
// EXTERNAL MODULE: ../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.parse-int.js
var es_parse_int = __webpack_require__("../../node_modules/.pnpm/core-js@3.34.0/node_modules/core-js/modules/es.parse-int.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");
// 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+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/card/card/component.js + 7 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/card/card/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/card/card-header/component.js + 1 modules
var card_header_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/card/card-header/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/text/component.js + 9 modules
var text_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/text/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/card/card-body/component.js + 4 modules
var card_body_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/card/card-body/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/card/card-footer/component.js + 1 modules
var card_footer_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/card/card-footer/component.js");
// EXTERNAL MODULE: ../../packages/js/components/src/ellipsis-menu/index.tsx
var ellipsis_menu = __webpack_require__("../../packages/js/components/src/ellipsis-menu/index.tsx");
// EXTERNAL MODULE: ../../packages/js/components/src/ellipsis-menu/menu-item.tsx
var menu_item = __webpack_require__("../../packages/js/components/src/ellipsis-menu/menu-item.tsx");
// EXTERNAL MODULE: ../../packages/js/components/src/ellipsis-menu/menu-title.tsx
var menu_title = __webpack_require__("../../packages/js/components/src/ellipsis-menu/menu-title.tsx");
// EXTERNAL MODULE: ../../packages/js/components/src/pagination/pagination.tsx + 2 modules
var pagination = __webpack_require__("../../packages/js/components/src/pagination/pagination.tsx");
// EXTERNAL MODULE: ../../packages/js/components/src/table/table.tsx
var table = __webpack_require__("../../packages/js/components/src/table/table.tsx");
// EXTERNAL MODULE: ../../packages/js/components/src/table/placeholder.tsx
var placeholder = __webpack_require__("../../packages/js/components/src/table/placeholder.tsx");
// EXTERNAL MODULE: ../../packages/js/components/src/table/summary.tsx
var table_summary = __webpack_require__("../../packages/js/components/src/table/summary.tsx");
;// CONCATENATED MODULE: ../../packages/js/components/src/table/index.tsx
var _excluded = ["actions", "className", "hasSearch", "headers", "ids", "isLoading", "onQueryChange", "onColumnsChange", "onSort", "query", "rowHeader", "rows", "rowsPerPage", "showMenu", "summary", "title", "totalRows", "rowKey", "emptyMessage"];
/**
* External dependencies
*/
/**
* Internal dependencies
*/
var defaultOnQueryChange = function defaultOnQueryChange() {
return function () {};
};
var defaultOnColumnsChange = function defaultOnColumnsChange() {};
/**
* This is an accessible, sortable, and scrollable table for displaying tabular data (like revenue and other analytics data).
* It accepts `headers` for column headers, and `rows` for the table content.
* `rowHeader` can be used to define the index of the row header (or false if no header).
*
* `TableCard` serves as Card wrapper & contains a card header, `<Table />`, `<TableSummary />`, and `<Pagination />`.
* This includes filtering and comparison functionality for report pages.
*/
var TableCard = function TableCard(_ref) {
var actions = _ref.actions,
className = _ref.className,
hasSearch = _ref.hasSearch,
_ref$headers = _ref.headers,
headers = _ref$headers === void 0 ? [] : _ref$headers,
ids = _ref.ids,
_ref$isLoading = _ref.isLoading,
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
_ref$onQueryChange = _ref.onQueryChange,
onQueryChange = _ref$onQueryChange === void 0 ? defaultOnQueryChange : _ref$onQueryChange,
_ref$onColumnsChange = _ref.onColumnsChange,
onColumnsChange = _ref$onColumnsChange === void 0 ? defaultOnColumnsChange : _ref$onColumnsChange,
onSort = _ref.onSort,
_ref$query = _ref.query,
query = _ref$query === void 0 ? {} : _ref$query,
_ref$rowHeader = _ref.rowHeader,
rowHeader = _ref$rowHeader === void 0 ? 0 : _ref$rowHeader,
_ref$rows = _ref.rows,
rows = _ref$rows === void 0 ? [] : _ref$rows,
rowsPerPage = _ref.rowsPerPage,
_ref$showMenu = _ref.showMenu,
showMenu = _ref$showMenu === void 0 ? true : _ref$showMenu,
summary = _ref.summary,
title = _ref.title,
totalRows = _ref.totalRows,
rowKey = _ref.rowKey,
_ref$emptyMessage = _ref.emptyMessage,
emptyMessage = _ref$emptyMessage === void 0 ? undefined : _ref$emptyMessage,
props = (0,objectWithoutProperties/* default */.A)(_ref, _excluded);
// eslint-disable-next-line no-console
var getShowCols = function getShowCols() {
var _headers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
return _headers.map(function (_ref2) {
var key = _ref2.key,
visible = _ref2.visible;
if (typeof visible === 'undefined' || visible) {
return key;
}
return false;
}).filter(Boolean);
};
var _useState = (0,react.useState)(getShowCols(headers)),
_useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
showCols = _useState2[0],
setShowCols = _useState2[1];
var onColumnToggle = function onColumnToggle(key) {
return function () {
var hasKey = showCols.includes(key);
if (hasKey) {
// Handle hiding a sorted column
if (query.orderby === key) {
var defaultSort = (0,lodash.find)(headers, {
defaultSort: true
}) || (0,lodash.first)(headers) || {
key: undefined
};
onQueryChange('sort')(defaultSort.key, 'desc');
}
var newShowCols = (0,lodash.without)(showCols, key);
onColumnsChange(newShowCols, key);
setShowCols(newShowCols);
} else {
var _newShowCols = [].concat((0,toConsumableArray/* default */.A)(showCols), [key]);
onColumnsChange(_newShowCols, key);
setShowCols(_newShowCols);
}
};
};
var onPageChange = function onPageChange(newPage, direction) {
if (props.onPageChange) {
props.onPageChange(newPage, direction);
}
if (onQueryChange) {
onQueryChange('paged')(newPage.toString(), direction);
}
};
var allHeaders = headers;
var visibleHeaders = headers.filter(function (_ref3) {
var key = _ref3.key;
return showCols.includes(key);
});
var visibleRows = rows.map(function (row) {
return headers.map(function (_ref4, i) {
var key = _ref4.key;
return showCols.includes(key) && row[i];
}).filter(Boolean);
});
var classes = classnames_default()('woocommerce-table', className, {
'has-actions': !!actions,
'has-menu': showMenu,
'has-search': hasSearch
});
return (0,react.createElement)(component/* default */.A, {
className: classes
}, (0,react.createElement)(card_header_component/* default */.A, null, (0,react.createElement)(text_component/* default */.A, {
size: 16,
weight: 600,
as: "h2",
color: "#23282d"
}, title), (0,react.createElement)("div", {
className: "woocommerce-table__actions"
}, actions), showMenu && (0,react.createElement)(ellipsis_menu/* default */.A, {
label: (0,build_module.__)('Choose which values to display', 'woocommerce'),
renderContent: function renderContent() {
return (0,react.createElement)(react.Fragment, null, (0,react.createElement)(menu_title/* default */.A, null, (0,build_module.__)('Columns:', 'woocommerce')), allHeaders.map(function (_ref5) {
var key = _ref5.key,
label = _ref5.label,
required = _ref5.required;
if (required) {
return null;
}
return (0,react.createElement)(menu_item/* default */.A, {
checked: showCols.includes(key),
isCheckbox: true,
isClickable: true,
key: key,
onInvoke: key !== undefined ? onColumnToggle(key) : undefined
}, label);
}));
}
})), (0,react.createElement)(card_body_component/* default */.A, {
size: null
}, isLoading ? (0,react.createElement)(react.Fragment, null, (0,react.createElement)("span", {
className: "screen-reader-text"
}, (0,build_module.__)('Your requested data is loading', 'woocommerce')), (0,react.createElement)(placeholder/* default */.A, {
numberOfRows: rowsPerPage,
headers: visibleHeaders,
rowHeader: rowHeader,
caption: title,
query: query
})) : (0,react.createElement)(table/* default */.A, {
rows: visibleRows,
headers: visibleHeaders,
rowHeader: rowHeader,
caption: title,
query: query,
onSort: onSort || onQueryChange('sort'),
rowKey: rowKey,
emptyMessage: emptyMessage
})), (0,react.createElement)(card_footer_component/* default */.A, {
justify: "center"
}, isLoading ? (0,react.createElement)(table_summary/* TableSummaryPlaceholder */.W, null) : (0,react.createElement)(react.Fragment, null, (0,react.createElement)(pagination/* Pagination */.d, {
key: parseInt(query.paged, 10) || 1,
page: parseInt(query.paged, 10) || 1,
perPage: rowsPerPage,
total: totalRows,
onPageChange: onPageChange,
onPerPageChange: function onPerPageChange(perPage) {
return onQueryChange('per_page')(perPage.toString());
}
}), summary && (0,react.createElement)(table_summary/* default */.A, {
data: summary
}))));
};
/* harmony default export */ const src_table = (TableCard);
// 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: ../../packages/js/components/src/table/stories/index.ts
var stories = __webpack_require__("../../packages/js/components/src/table/stories/index.ts");
;// CONCATENATED MODULE: ../../packages/js/components/src/table/stories/table-card.story.tsx
/**
* External dependencies
*/
/**
* Internal dependencies
*/
var TableCardExample = function TableCardExample() {
var _useState = (0,react.useState)({
query: {
paged: 1
}
}),
_useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
query = _useState2[0].query,
setState = _useState2[1];
return (0,react.createElement)(src_table, {
title: "Revenue last week",
rows: stories/* rows */.Ge,
headers: stories/* headers */.b3,
onQueryChange: function onQueryChange(param) {
return function (value) {
return setState({
// @ts-expect-error: ignore for storybook
query: (0,defineProperty/* default */.A)({}, param, value)
});
};
},
query: query,
rowsPerPage: 7,
totalRows: 10,
summary: stories/* summary */.z
});
};
var TableCardWithActionsExample = function TableCardWithActionsExample() {
var _useState3 = (0,react.useState)({
query: {
paged: 1
}
}),
_useState4 = (0,slicedToArray/* default */.A)(_useState3, 2),
query = _useState4[0].query,
setState = _useState4[1];
var _useState5 = (0,react.useState)('Action 1'),
_useState6 = (0,slicedToArray/* default */.A)(_useState5, 2),
action1Text = _useState6[0],
setAction1Text = _useState6[1];
var _useState7 = (0,react.useState)('Action 2'),
_useState8 = (0,slicedToArray/* default */.A)(_useState7, 2),
action2Text = _useState8[0],
setAction2Text = _useState8[1];
return (0,react.createElement)(src_table, {
actions: [(0,react.createElement)(build_module_button/* default */.A, {
key: 0,
onClick: function onClick() {
setAction1Text('Action 1 Clicked');
}
}, action1Text), (0,react.createElement)(build_module_button/* default */.A, {
key: 0,
onClick: function onClick() {
setAction2Text('Action 2 Clicked');
}
}, action2Text)],
title: "Revenue last week",
rows: stories/* rows */.Ge,
headers: stories/* headers */.b3,
onQueryChange: function onQueryChange(param) {
return function (value) {
return setState({
// @ts-expect-error: ignore for storybook
query: (0,defineProperty/* default */.A)({}, param, value)
});
};
},
query: query,
rowsPerPage: 7,
totalRows: 10,
summary: stories/* summary */.z
});
};
var Basic = function Basic() {
return (0,react.createElement)(TableCardExample, null);
};
var Actions = function Actions() {
return (0,react.createElement)(TableCardWithActionsExample, null);
};
/* harmony default export */ const table_card_story = ({
title: 'WooCommerce Admin/components/TableCard',
component: src_table
});
Basic.parameters = {
...Basic.parameters,
docs: {
...Basic.parameters?.docs,
source: {
originalSource: "() => <TableCardExample />",
...Basic.parameters?.docs?.source
}
}
};
Actions.parameters = {
...Actions.parameters,
docs: {
...Actions.parameters?.docs,
source: {
originalSource: "() => <TableCardWithActionsExample />",
...Actions.parameters?.docs?.source
}
}
};
/***/ })
}]);