@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
36 lines (32 loc) • 1.97 kB
JavaScript
"use client";
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
const require_factory = require('../../core/system/factory.cjs');
const require_create_component = require('../../core/components/create-component.cjs');
const require_portal = require('../portal/portal.cjs');
const require_use_input_border = require('../input/use-input-border.cjs');
const require_button = require('../button/button.cjs');
const require_file_button_style = require('./file-button.style.cjs');
const require_use_file_button = require('./use-file-button.cjs');
let react_jsx_runtime = require("react/jsx-runtime");
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
//#region src/components/file-button/file-button.tsx
const { PropsContext: FileButtonPropsContext, usePropsContext: useFileButtonPropsContext, withContext } = require_create_component.createComponent("file-button", require_file_button_style.fileButtonStyle);
/**
* `FileButton` is a button component used for users to select files.
*
* @see https://yamada-ui.com/docs/components/file-button
*/
const FileButton = withContext(({ as: As = require_button.Button, children, errorBorderColor,...rest }) => {
const { getButtonProps, getInputProps } = require_use_file_button.useFileButton(rest);
const varProps = require_use_input_border.useInputBorder({ errorBorderColor });
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_portal.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.styled.input, { ...getInputProps() }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(As, {
...varProps,
...getButtonProps(),
children
})] });
})();
//#endregion
exports.FileButton = FileButton;
exports.FileButtonPropsContext = FileButtonPropsContext;
exports.useFileButtonPropsContext = useFileButtonPropsContext;
//# sourceMappingURL=file-button.cjs.map