text: import { CommonPropertiesService } from './CommonPropertiesService.js';
  import { PropertyType } from '../PropertyType.js';
  export class NativeElementsPropertiesService extends CommonPropertiesService {
      //@ts-ignore
      inputProperties = [
          {
              name: "type",
              type: "list",
              values: ["text", "number", "button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "password", "radio", "range", "reset", "search", "submit", "tel", "time", "url", "week"],
              service: this,
              defaultValue: "text",
              propertyType: PropertyType.propertyAndAttribute
          }, {
              name: "value",
              type: "string",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }, {
              name: "checked",
              type: "boolean",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }, {
              name: "min",
              type: "number",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }, {
              name: "max",
              type: "number",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }
      ];
      buttonProperties = [
          {
              name: "type",
              type: "list",
              values: ["button", "submit", "reset"],
              service: this,
              defaultValue: "button",
              propertyType: PropertyType.propertyAndAttribute
          }, {
              name: "value",
              type: "string",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }, {
              name: "disabled",
              type: "boolean",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }
      ];
      anchorProperties = [
          {
              name: "href",
              type: "string",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }
      ];
      divProperties = [
          {
              name: "title",
              type: "string",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }
      ];
      imgProperties = [
          {
              name: "src",
              type: "string",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }
      ];
      iframeProperties = [
          {
              name: "src",
              type: "string",
              service: this,
              propertyType: PropertyType.propertyAndAttribute
          }
      ];
      name = "native";
      isHandledElement(designItem) {
          switch (designItem.element.localName) {
              case 'input':
              case 'button':
              case 'a':
              case 'div':
              case 'span':
              case 'br':
              case 'img':
              case 'iframe':
                  return true;
          }
          return false;
      }
      getProperty(designItem, name) {
          return this.getProperties(designItem)[name];
      }
      getProperties(designItem) {
          if (!this.isHandledElement(designItem))
              return null;
          switch (designItem.element.localName) {
              case 'input':
                  return this.inputProperties;
              case 'button':
                  return this.buttonProperties;
              case 'a':
                  return this.anchorProperties;
              case 'div':
                  return this.divProperties;
              case 'img':
                  return this.imgProperties;
              case 'iframe':
                  return this.iframeProperties;
          }
          return null;
      }
  }
  