{"version":3,"file":"footer.mjs","names":[],"sources":["../../src/schemas/footer.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\nexport const FooterTextColorSchema = Type.Union([\n  Type.Literal('accent'),\n  Type.Literal('mdCode'),\n  Type.Literal('toolDiffAdded'),\n  Type.Literal('warning'),\n  Type.Literal('mdHeading'),\n  Type.Literal('syntaxNumber'),\n  Type.Literal('muted'),\n  Type.Literal('dim'),\n]);\nexport type FooterTextColor = Static<typeof FooterTextColorSchema>;\n\nexport const FooterStatusPlacementSchema = Type.Union([Type.Literal('modeline'), Type.Literal('beforeModel')]);\nexport type FooterStatusPlacement = Static<typeof FooterStatusPlacementSchema>;\n\nexport const FooterTextSegmentSchema = Type.Object(\n  {\n    text: Type.String({ minLength: 1, maxLength: 80 }),\n    color: Type.Optional(FooterTextColorSchema),\n  },\n  { additionalProperties: false },\n);\nexport type FooterTextSegment = Static<typeof FooterTextSegmentSchema>;\n\nexport const FooterStatusItemSchema = Type.Object(\n  {\n    id: Type.String({ minLength: 1, maxLength: 128 }),\n    fullText: Type.String({ minLength: 1, maxLength: 80 }),\n    compactText: Type.String({ minLength: 1, maxLength: 24 }),\n    fullSegments: Type.Optional(Type.Array(FooterTextSegmentSchema, { maxItems: 80 })),\n    compactSegments: Type.Optional(Type.Array(FooterTextSegmentSchema, { maxItems: 24 })),\n    placement: Type.Optional(FooterStatusPlacementSchema),\n    order: Type.Integer({ minimum: 0, maximum: 1000 }),\n  },\n  { additionalProperties: false },\n);\nexport type FooterStatusItem = Static<typeof FooterStatusItemSchema>;\n\nexport interface DoomFooterContributionDefinition {\n  source: string;\n  id: string;\n  order: number;\n  placement?: FooterStatusPlacement;\n}\n\nexport interface DoomFooterContributionValue {\n  fullText: string;\n  compactText: string;\n  fullSegments?: FooterTextSegment[];\n  compactSegments?: FooterTextSegment[];\n}\n\nexport interface DoomFooterContributionHandle {\n  update(value: DoomFooterContributionValue | undefined): void;\n  dispose(): void;\n}\n\nexport interface DoomFooterStatus extends FooterStatusItem {\n  source: string;\n}\n"],"mappings":"+BAEA,MAAa,EAAwB,EAAK,MAAM,CAC9C,EAAK,QAAQ,QAAQ,EACrB,EAAK,QAAQ,QAAQ,EACrB,EAAK,QAAQ,eAAe,EAC5B,EAAK,QAAQ,SAAS,EACtB,EAAK,QAAQ,WAAW,EACxB,EAAK,QAAQ,cAAc,EAC3B,EAAK,QAAQ,OAAO,EACpB,EAAK,QAAQ,KAAK,CACpB,CAAC,EAGY,EAA8B,EAAK,MAAM,CAAC,EAAK,QAAQ,UAAU,EAAG,EAAK,QAAQ,aAAa,CAAC,CAAC,EAGhG,EAA0B,EAAK,OAC1C,CACE,KAAM,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,EAAG,CAAC,EACjD,MAAO,EAAK,SAAS,CAAqB,CAC5C,EACA,CAAE,qBAAsB,EAAM,CAChC,EAGa,EAAyB,EAAK,OACzC,CACE,GAAI,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,GAAI,CAAC,EAChD,SAAU,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,EAAG,CAAC,EACrD,YAAa,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,EAAG,CAAC,EACxD,aAAc,EAAK,SAAS,EAAK,MAAM,EAAyB,CAAE,SAAU,EAAG,CAAC,CAAC,EACjF,gBAAiB,EAAK,SAAS,EAAK,MAAM,EAAyB,CAAE,SAAU,EAAG,CAAC,CAAC,EACpF,UAAW,EAAK,SAAS,CAA2B,EACpD,MAAO,EAAK,QAAQ,CAAE,QAAS,EAAG,QAAS,GAAK,CAAC,CACnD,EACA,CAAE,qBAAsB,EAAM,CAChC"}