"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var html_converter_exports = {};
__export(html_converter_exports, {
  htmlConverter: () => htmlConverter
});
module.exports = __toCommonJS(html_converter_exports);
var import_types = require("./../pm-converters/types.js");
var import_next_schema = require("./../ricos-schema/next-schema/index.js");
const htmlConverter = (0, import_types.definePmNodeConverter)({
  toPm: {
    types: [import_next_schema.Node_Type.HTML],
    convert: (node) => {
      return {
        type: import_next_schema.Node_Type.HTML,
        attrs: {
          ...node.htmlData,
          id: node.id,
          autoHeight: node.htmlData.autoHeight ?? true,
          state: {
            status: "SUCCESS"
          }
        }
      };
    }
  },
  fromPm: {
    types: [import_next_schema.Node_Type.HTML],
    convert: (node) => {
      const { id } = node.attrs || {};
      const attrs = node.attrs || {};
      const hasContent = attrs.html !== null || attrs.widgetId !== null;
      if (attrs.state === null || attrs.state?.status === "INITIAL" || attrs.state?.status === "LOADING" && !hasContent || attrs.state?.status === "ERROR" && !hasContent) {
        return void 0;
      }
      const htmlData = {
        containerData: attrs.containerData ?? void 0,
        source: attrs.source || import_next_schema.HTMLData_Source.HTML,
        url: attrs.url || void 0,
        html: attrs.html || void 0,
        widgetId: attrs.widgetId || void 0,
        autoHeight: attrs.autoHeight === false ? false : void 0
      };
      return {
        type: import_next_schema.Node_Type.HTML,
        id,
        nodes: [],
        htmlData
      };
    }
  }
});
//# sourceMappingURL=html-converter.js.map
