1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: pub.leaflet.pages.linearDocument
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[jacquard_derive::lexicon]
9#[derive(
10 serde::Serialize,
11 serde::Deserialize,
12 Debug,
13 Clone,
14 PartialEq,
15 Eq,
16 jacquard_derive::IntoStatic,
17 bon::Builder
18)]
19#[serde(rename_all = "camelCase")]
20pub struct Block<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[builder(into)]
23 #[serde(borrow)]
24 pub alignment: Option<jacquard_common::CowStr<'a>>,
25 #[serde(borrow)]
26 pub block: BlockBlock<'a>,
27}
28
29#[jacquard_derive::open_union]
30#[derive(
31 serde::Serialize,
32 serde::Deserialize,
33 Debug,
34 Clone,
35 PartialEq,
36 Eq,
37 jacquard_derive::IntoStatic
38)]
39#[serde(tag = "$type")]
40#[serde(bound(deserialize = "'de: 'a"))]
41pub enum BlockBlock<'a> {
42 #[serde(rename = "pub.leaflet.blocks.iframe")]
43 Iframe(Box<crate::pub_leaflet::blocks::iframe::Iframe<'a>>),
44 #[serde(rename = "pub.leaflet.blocks.text")]
45 Text(Box<crate::pub_leaflet::blocks::text::Text<'a>>),
46 #[serde(rename = "pub.leaflet.blocks.blockquote")]
47 Blockquote(Box<crate::pub_leaflet::blocks::blockquote::Blockquote<'a>>),
48 #[serde(rename = "pub.leaflet.blocks.header")]
49 Header(Box<crate::pub_leaflet::blocks::header::Header<'a>>),
50 #[serde(rename = "pub.leaflet.blocks.image")]
51 Image(Box<crate::pub_leaflet::blocks::image::Image<'a>>),
52 #[serde(rename = "pub.leaflet.blocks.unorderedList")]
53 UnorderedList(Box<crate::pub_leaflet::blocks::unordered_list::UnorderedList<'a>>),
54 #[serde(rename = "pub.leaflet.blocks.website")]
55 Website(Box<crate::pub_leaflet::blocks::website::Website<'a>>),
56 #[serde(rename = "pub.leaflet.blocks.math")]
57 Math(Box<crate::pub_leaflet::blocks::math::Math<'a>>),
58 #[serde(rename = "pub.leaflet.blocks.code")]
59 Code(Box<crate::pub_leaflet::blocks::code::Code<'a>>),
60 #[serde(rename = "pub.leaflet.blocks.horizontalRule")]
61 HorizontalRule(Box<crate::pub_leaflet::blocks::horizontal_rule::HorizontalRule<'a>>),
62 #[serde(rename = "pub.leaflet.blocks.bskyPost")]
63 BskyPost(Box<crate::pub_leaflet::blocks::bsky_post::BskyPost<'a>>),
64}
65
66#[jacquard_derive::lexicon]
67#[derive(
68 serde::Serialize,
69 serde::Deserialize,
70 Debug,
71 Clone,
72 PartialEq,
73 Eq,
74 jacquard_derive::IntoStatic,
75 Default
76)]
77#[serde(rename_all = "camelCase")]
78pub struct LinearDocument<'a> {
79 #[serde(skip_serializing_if = "std::option::Option::is_none")]
80 #[serde(borrow)]
81 pub blocks: std::option::Option<
82 Vec<crate::pub_leaflet::pages::linear_document::Block<'a>>,
83 >,
84}
85
86#[jacquard_derive::lexicon]
87#[derive(
88 serde::Serialize,
89 serde::Deserialize,
90 Debug,
91 Clone,
92 PartialEq,
93 Eq,
94 jacquard_derive::IntoStatic,
95 bon::Builder
96)]
97#[serde(rename_all = "camelCase")]
98pub struct Position<'a> {
99 pub block: Vec<i64>,
100 pub offset: i64,
101}
102
103#[jacquard_derive::lexicon]
104#[derive(
105 serde::Serialize,
106 serde::Deserialize,
107 Debug,
108 Clone,
109 PartialEq,
110 Eq,
111 jacquard_derive::IntoStatic,
112 bon::Builder
113)]
114#[serde(rename_all = "camelCase")]
115pub struct Quote<'a> {
116 #[serde(borrow)]
117 pub end: crate::pub_leaflet::pages::linear_document::Position<'a>,
118 #[serde(borrow)]
119 pub start: crate::pub_leaflet::pages::linear_document::Position<'a>,
120}
121
122#[derive(
123 serde::Serialize,
124 serde::Deserialize,
125 Debug,
126 Clone,
127 PartialEq,
128 Eq,
129 Hash,
130 jacquard_derive::IntoStatic
131)]
132pub struct TextAlignCenter;
133impl std::fmt::Display for TextAlignCenter {
134 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
135 write!(f, "textAlignCenter")
136 }
137}
138
139#[derive(
140 serde::Serialize,
141 serde::Deserialize,
142 Debug,
143 Clone,
144 PartialEq,
145 Eq,
146 Hash,
147 jacquard_derive::IntoStatic
148)]
149pub struct TextAlignLeft;
150impl std::fmt::Display for TextAlignLeft {
151 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
152 write!(f, "textAlignLeft")
153 }
154}
155
156#[derive(
157 serde::Serialize,
158 serde::Deserialize,
159 Debug,
160 Clone,
161 PartialEq,
162 Eq,
163 Hash,
164 jacquard_derive::IntoStatic
165)]
166pub struct TextAlignRight;
167impl std::fmt::Display for TextAlignRight {
168 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
169 write!(f, "textAlignRight")
170 }
171}