{"version":3,"file":"footer.cjs","names":["Type"],"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":"yBAEA,MAAa,EAAwBA,EAAAA,KAAK,MAAM,CAC9CA,EAAAA,KAAK,QAAQ,QAAQ,EACrBA,EAAAA,KAAK,QAAQ,QAAQ,EACrBA,EAAAA,KAAK,QAAQ,eAAe,EAC5BA,EAAAA,KAAK,QAAQ,SAAS,EACtBA,EAAAA,KAAK,QAAQ,WAAW,EACxBA,EAAAA,KAAK,QAAQ,cAAc,EAC3BA,EAAAA,KAAK,QAAQ,OAAO,EACpBA,EAAAA,KAAK,QAAQ,KAAK,CACpB,CAAC,EAGY,EAA8BA,EAAAA,KAAK,MAAM,CAACA,EAAAA,KAAK,QAAQ,UAAU,EAAGA,EAAAA,KAAK,QAAQ,aAAa,CAAC,CAAC,EAGhG,EAA0BA,EAAAA,KAAK,OAC1C,CACE,KAAMA,EAAAA,KAAK,OAAO,CAAE,UAAW,EAAG,UAAW,EAAG,CAAC,EACjD,MAAOA,EAAAA,KAAK,SAAS,CAAqB,CAC5C,EACA,CAAE,qBAAsB,EAAM,CAChC,EAGa,EAAyBA,EAAAA,KAAK,OACzC,CACE,GAAIA,EAAAA,KAAK,OAAO,CAAE,UAAW,EAAG,UAAW,GAAI,CAAC,EAChD,SAAUA,EAAAA,KAAK,OAAO,CAAE,UAAW,EAAG,UAAW,EAAG,CAAC,EACrD,YAAaA,EAAAA,KAAK,OAAO,CAAE,UAAW,EAAG,UAAW,EAAG,CAAC,EACxD,aAAcA,EAAAA,KAAK,SAASA,EAAAA,KAAK,MAAM,EAAyB,CAAE,SAAU,EAAG,CAAC,CAAC,EACjF,gBAAiBA,EAAAA,KAAK,SAASA,EAAAA,KAAK,MAAM,EAAyB,CAAE,SAAU,EAAG,CAAC,CAAC,EACpF,UAAWA,EAAAA,KAAK,SAAS,CAA2B,EACpD,MAAOA,EAAAA,KAAK,QAAQ,CAAE,QAAS,EAAG,QAAS,GAAK,CAAC,CACnD,EACA,CAAE,qBAAsB,EAAM,CAChC"}