{"version":3,"file":"ActionMenuOption.mjs","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":["import { Type } from 'class-transformer'\nimport { IsBoolean, IsInstance, IsOptional, IsString } from 'class-validator'\nimport type { ActionMenuFormOptions } from './ActionMenuOptionForm'\n\nimport { ActionMenuForm } from './ActionMenuOptionForm'\n\n/**\n * @public\n */\nexport interface ActionMenuOptionOptions {\n  name: string\n  title: string\n  description: string\n  disabled?: boolean\n  form?: ActionMenuFormOptions\n}\n\n/**\n * @public\n */\nexport class ActionMenuOption {\n  public constructor(options: ActionMenuOptionOptions) {\n    if (options) {\n      this.name = options.name\n      this.title = options.title\n      this.description = options.description\n      this.disabled = options.disabled\n      if (options.form) {\n        this.form = new ActionMenuForm(options.form)\n      }\n    }\n  }\n\n  @IsString()\n  public name!: string\n\n  @IsString()\n  public title!: string\n\n  @IsString()\n  public description!: string\n\n  @IsBoolean()\n  @IsOptional()\n  public disabled?: boolean\n\n  @IsInstance(ActionMenuForm)\n  @Type(() => ActionMenuForm)\n  @IsOptional()\n  public form?: ActionMenuForm\n}\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,mBAAb,MAA8B;CAC5B,AAAO,YAAY,SAAkC;AACnD,MAAI,SAAS;AACX,QAAK,OAAO,QAAQ;AACpB,QAAK,QAAQ,QAAQ;AACrB,QAAK,cAAc,QAAQ;AAC3B,QAAK,WAAW,QAAQ;AACxB,OAAI,QAAQ,KACV,MAAK,OAAO,IAAI,eAAe,QAAQ,KAAK;;;;YAKjD,UAAU;YAGV,UAAU;YAGV,UAAU;;CAGV,WAAW;CACX,YAAY;;;;CAGZ,WAAW,eAAe;CAC1B,WAAW,eAAe;CAC1B,YAAY"}