"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);
var Input_stories_exports = {};
__export(Input_stories_exports, {
  Base: () => Base,
  CustomSerializer: () => CustomSerializer,
  RenderSideExemple: () => RenderSideExemple,
  default: () => Input_stories_default
});
module.exports = __toCommonJS(Input_stories_exports);
var import_react = __toESM(require("react"));
var import_Button = __toESM(require("../../cta/Button"));
var import_index = __toESM(require("./index"));
var import__ = require("../..");
var Input_stories_default = {
  title: "Form/Input/Base",
  argTypes: {
    disabled: {
      type: "boolean",
      defaultValue: false
    },
    error: {
      type: "string",
      defaultValue: void 0
    },
    warning: {
      type: "string",
      defaultValue: void 0
    },
    clearable: {
      type: "boolean",
      defaultValue: false
    }
  }
};
const Base = (args) => {
  const [value, setValue] = import_react.default.useState("");
  return /* @__PURE__ */ import_react.default.createElement(import_index.default, { ...args, value, onChange: setValue, placeholder: "Placeholder" });
};
const RenderSideExemple = () => {
  const [disabled, setDisabled] = (0, import_react.useState)(false);
  const [error, setError] = import_react.default.useState("");
  const [value, setValue] = import_react.default.useState("test@ledger.fr");
  const renderLeft = /* @__PURE__ */ import_react.default.createElement(import_index.InputRenderLeftContainer, null, /* @__PURE__ */ import_react.default.createElement(import_Button.default, { variant: "main", outline: true, onClick: () => setDisabled(!disabled) }, "disable"));
  const renderRight = (props) => {
    return /* @__PURE__ */ import_react.default.createElement(import_index.InputRenderRightContainer, null, /* @__PURE__ */ import_react.default.createElement(
      import_Button.default,
      {
        variant: "main",
        outline: true,
        onClick: () => setError(error ? "" : "Error message"),
        disabled: props.disabled
      },
      "error"
    ));
  };
  return /* @__PURE__ */ import_react.default.createElement(
    import_index.default,
    {
      value,
      disabled,
      error,
      onChange: setValue,
      renderLeft,
      renderRight,
      placeholder: "test"
    }
  );
};
function serialize(value) {
  return value.split("").join(".");
}
function deserialize(value) {
  return value.replace(/\./g, "");
}
const CustomSerializer = (args) => {
  const [value, setValue] = import_react.default.useState("");
  return /* @__PURE__ */ import_react.default.createElement(import__.Flex, { flexDirection: "column", rowGap: 8 }, /* @__PURE__ */ import_react.default.createElement(
    import_index.default,
    {
      ...args,
      value,
      onChange: setValue,
      serialize,
      deserialize,
      placeholder: "Placeholder"
    }
  ), /* @__PURE__ */ import_react.default.createElement("span", null, /* @__PURE__ */ import_react.default.createElement(import__.Text, { variant: "large" }, "Value: "), value));
};
//# sourceMappingURL=Input.stories.js.map
