UNPKG

@wordpress/components

Version:
92 lines (90 loc) 3.37 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // packages/components/src/form-file-upload/index.tsx var form_file_upload_exports = {}; __export(form_file_upload_exports, { FormFileUpload: () => FormFileUpload, default: () => form_file_upload_default }); module.exports = __toCommonJS(form_file_upload_exports); var import_element = require("@wordpress/element"); var import_button = __toESM(require("../button")); var import_deprecated_36px_size = require("../utils/deprecated-36px-size"); var import_jsx_runtime = require("react/jsx-runtime"); function FormFileUpload({ accept, children, multiple = false, onChange, onClick, render, ...props }) { const ref = (0, import_element.useRef)(null); const openFileDialog = () => { ref.current?.click(); }; if (!render) { (0, import_deprecated_36px_size.maybeWarnDeprecated36pxSize)({ componentName: "FormFileUpload", __next40pxDefaultSize: props.__next40pxDefaultSize, // @ts-expect-error - We don't "officially" support all Button props but this likely happens. size: props.size }); } const ui = render ? render({ openFileDialog }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_button.default, { onClick: openFileDialog, ...props, children }); const compatAccept = accept?.includes("audio/*") ? `${accept}, audio/mp3, audio/x-m4a, audio/x-m4b, audio/x-m4p, audio/x-wav, audio/webm` : accept; return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "components-form-file-upload", children: [ui, /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { type: "file", ref, multiple, style: { display: "none" }, accept: compatAccept, onChange, onClick, "data-testid": "form-file-upload-input" })] }); } var form_file_upload_default = FormFileUpload; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { FormFileUpload }); //# sourceMappingURL=index.js.map