···2525import * as ComAtprotoRepoUploadBlob from './types/com/atproto/repo/uploadBlob'
2626import * as PubLeafletBlocksBlockquote from './types/pub/leaflet/blocks/blockquote'
2727import * as PubLeafletBlocksBskyPost from './types/pub/leaflet/blocks/bskyPost'
2828+import * as PubLeafletBlocksButton from './types/pub/leaflet/blocks/button'
2829import * as PubLeafletBlocksCode from './types/pub/leaflet/blocks/code'
2930import * as PubLeafletBlocksHeader from './types/pub/leaflet/blocks/header'
3031import * as PubLeafletBlocksHorizontalRule from './types/pub/leaflet/blocks/horizontalRule'
···6465export * as ComAtprotoRepoUploadBlob from './types/com/atproto/repo/uploadBlob'
6566export * as PubLeafletBlocksBlockquote from './types/pub/leaflet/blocks/blockquote'
6667export * as PubLeafletBlocksBskyPost from './types/pub/leaflet/blocks/bskyPost'
6868+export * as PubLeafletBlocksButton from './types/pub/leaflet/blocks/button'
6769export * as PubLeafletBlocksCode from './types/pub/leaflet/blocks/code'
6870export * as PubLeafletBlocksHeader from './types/pub/leaflet/blocks/header'
6971export * as PubLeafletBlocksHorizontalRule from './types/pub/leaflet/blocks/horizontalRule'
···11+/**
22+ * GENERATED CODE - DO NOT MODIFY
33+ */
44+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
55+import { CID } from 'multiformats/cid'
66+import { validate as _validate } from '../../../../lexicons'
77+import {
88+ type $Typed,
99+ is$typed as _is$typed,
1010+ type OmitKey,
1111+} from '../../../../util'
1212+1313+const is$typed = _is$typed,
1414+ validate = _validate
1515+const id = 'pub.leaflet.blocks.button'
1616+1717+export interface Main {
1818+ $type?: 'pub.leaflet.blocks.button'
1919+ text: string
2020+ url: string
2121+}
2222+2323+const hashMain = 'main'
2424+2525+export function isMain<V>(v: V) {
2626+ return is$typed(v, id, hashMain)
2727+}
2828+2929+export function validateMain<V>(v: V) {
3030+ return validate<Main & V>(v, id, hashMain)
3131+}
+2
lexicons/api/types/pub/leaflet/pages/canvas.ts
···2222import type * as PubLeafletBlocksBskyPost from '../blocks/bskyPost'
2323import type * as PubLeafletBlocksPage from '../blocks/page'
2424import type * as PubLeafletBlocksPoll from '../blocks/poll'
2525+import type * as PubLeafletBlocksButton from '../blocks/button'
25262627const is$typed = _is$typed,
2728 validate = _validate
···5960 | $Typed<PubLeafletBlocksBskyPost.Main>
6061 | $Typed<PubLeafletBlocksPage.Main>
6162 | $Typed<PubLeafletBlocksPoll.Main>
6363+ | $Typed<PubLeafletBlocksButton.Main>
6264 | { $type: string }
6365 x: number
6466 y: number
···2222import type * as PubLeafletBlocksBskyPost from '../blocks/bskyPost'
2323import type * as PubLeafletBlocksPage from '../blocks/page'
2424import type * as PubLeafletBlocksPoll from '../blocks/poll'
2525+import type * as PubLeafletBlocksButton from '../blocks/button'
25262627const is$typed = _is$typed,
2728 validate = _validate
···5960 | $Typed<PubLeafletBlocksBskyPost.Main>
6061 | $Typed<PubLeafletBlocksPage.Main>
6162 | $Typed<PubLeafletBlocksPoll.Main>
6363+ | $Typed<PubLeafletBlocksButton.Main>
6264 | { $type: string }
6365 alignment?:
6466 | 'lex:pub.leaflet.pages.linearDocument#textAlignLeft'