1#[derive(serde::Serialize, serde::Deserialize)]
9#[serde(deny_unknown_fields)]
10#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11pub struct ComponentData {
12 #[prost(string, tag = "1")]
15 pub template: ::prost::alloc::string::String,
16 #[prost(string, tag = "2")]
19 pub css: ::prost::alloc::string::String,
20 #[prost(string, tag = "3")]
26 pub css_href: ::prost::alloc::string::String,
27 #[prost(string, tag = "4")]
31 pub template_json: ::prost::alloc::string::String,
32 #[prost(string, tag = "5")]
35 pub template_functions: ::prost::alloc::string::String,
36 #[prost(string, repeated, tag = "6")]
43 pub hydration_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
44 #[prost(string, repeated, tag = "7")]
49 pub navigation_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
50 #[prost(enumeration = "StateProjectionMode", tag = "8")]
52 pub hydration_mode: i32,
53 #[prost(enumeration = "StateProjectionMode", optional, tag = "9")]
57 pub navigation_mode: ::core::option::Option<i32>,
58 #[prost(bool, tag = "10")]
61 pub uses_shadow_dom: bool,
62 #[prost(enumeration = "ComponentWorkPolicy", tag = "11")]
64 pub work_policy: i32,
65}
66#[derive(serde::Serialize, serde::Deserialize)]
72#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
73pub struct ComponentAssetStylePreload {
74 #[prost(string, tag = "1")]
76 pub root: ::prost::alloc::string::String,
77 #[prost(string, repeated, tag = "2")]
79 pub style_hrefs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
80}
81#[derive(serde::Serialize, serde::Deserialize)]
83#[serde(deny_unknown_fields)]
84#[derive(Clone, PartialEq, ::prost::Message)]
85pub struct WebUiProtocol {
86 #[prost(map = "string, message", tag = "1")]
87 pub fragments: ::std::collections::HashMap<
88 ::prost::alloc::string::String,
89 FragmentList,
90 >,
91 #[prost(string, repeated, tag = "2")]
95 pub tokens: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
96 #[prost(map = "string, message", tag = "3")]
98 pub components: ::std::collections::HashMap<
99 ::prost::alloc::string::String,
100 ComponentData,
101 >,
102 #[prost(enumeration = "CssStrategy", tag = "4")]
105 pub css_strategy: i32,
106 #[prost(enumeration = "InitialStateStrategy", tag = "6")]
109 pub initial_state_strategy: i32,
110 #[prost(string, repeated, tag = "7")]
123 pub module_preloads: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
124 #[prost(string, tag = "9")]
127 pub component_render_css: ::prost::alloc::string::String,
128 #[prost(map = "string, message", tag = "10")]
131 pub style_closures: ::std::collections::HashMap<
132 ::prost::alloc::string::String,
133 ComponentStyleClosure,
134 >,
135 #[prost(message, repeated, tag = "11")]
140 pub style_chunks: ::prost::alloc::vec::Vec<StyleChunk>,
141 #[prost(message, repeated, tag = "12")]
146 pub component_asset_style_preloads: ::prost::alloc::vec::Vec<
147 ComponentAssetStylePreload,
148 >,
149}
150#[derive(serde::Serialize, serde::Deserialize)]
152#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
153pub struct ComponentStyleClosure {
154 #[prost(string, repeated, tag = "1")]
156 pub component_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
157 #[prost(uint32, repeated, tag = "2")]
162 pub style_chunks: ::prost::alloc::vec::Vec<u32>,
163}
164#[derive(serde::Serialize, serde::Deserialize)]
167#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
168pub struct StyleChunk {
169 #[prost(string, tag = "1")]
172 pub name: ::prost::alloc::string::String,
173 #[prost(string, tag = "2")]
176 pub css: ::prost::alloc::string::String,
177 #[prost(string, tag = "3")]
180 pub css_href: ::prost::alloc::string::String,
181 #[prost(string, repeated, tag = "4")]
183 pub component_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
184}
185#[derive(serde::Serialize, serde::Deserialize)]
187#[derive(Clone, PartialEq, ::prost::Message)]
188pub struct FragmentList {
189 #[prost(message, repeated, tag = "1")]
190 pub fragments: ::prost::alloc::vec::Vec<WebUiFragment>,
191 #[prost(bool, tag = "2")]
195 pub contains_boundary: bool,
196}
197#[derive(serde::Serialize, serde::Deserialize)]
199#[derive(Clone, PartialEq, ::prost::Message)]
200pub struct WebUiFragment {
201 #[prost(oneof = "web_ui_fragment::Fragment", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
202 pub fragment: ::core::option::Option<web_ui_fragment::Fragment>,
203}
204pub mod web_ui_fragment {
206 #[derive(serde::Serialize, serde::Deserialize)]
207 #[derive(Clone, PartialEq, ::prost::Oneof)]
208 pub enum Fragment {
209 #[prost(message, tag = "1")]
210 Raw(super::WebUiFragmentRaw),
211 #[prost(message, tag = "2")]
212 Component(super::WebUiFragmentComponent),
213 #[prost(message, tag = "3")]
214 ForLoop(super::WebUiFragmentFor),
215 #[prost(message, tag = "4")]
216 Signal(super::WebUiFragmentSignal),
217 #[prost(message, tag = "5")]
218 IfCond(super::WebUiFragmentIf),
219 #[prost(message, tag = "6")]
220 Attribute(super::WebUiFragmentAttribute),
221 #[prost(message, tag = "7")]
222 Plugin(super::WebUiFragmentPlugin),
223 #[prost(message, tag = "8")]
224 Route(super::WebUiFragmentRoute),
225 #[prost(message, tag = "9")]
226 Outlet(super::WebUiFragmentOutlet),
227 #[prost(message, tag = "10")]
228 Boundary(super::WebUiFragmentBoundary),
229 }
230}
231#[derive(serde::Serialize, serde::Deserialize)]
242#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
243pub struct WebUiFragmentBoundary {
244 #[prost(uint32, tag = "1")]
246 pub declaration_id: u32,
247 #[prost(string, tag = "2")]
249 pub owner_fragment_id: ::prost::alloc::string::String,
250 #[prost(string, tag = "3")]
252 pub name: ::prost::alloc::string::String,
253 #[prost(string, optional, tag = "4")]
255 pub key: ::core::option::Option<::prost::alloc::string::String>,
256 #[prost(bool, tag = "6")]
261 pub may_repeat: bool,
262 #[prost(enumeration = "BoundaryPhase", tag = "7")]
264 pub phase: i32,
265}
266#[derive(serde::Serialize, serde::Deserialize)]
269#[derive(Clone, PartialEq, ::prost::Message)]
270pub struct WebUiFragmentRoute {
271 #[prost(string, tag = "1")]
272 pub path: ::prost::alloc::string::String,
273 #[prost(string, tag = "2")]
274 pub fragment_id: ::prost::alloc::string::String,
275 #[prost(bool, tag = "3")]
276 pub exact: bool,
277 #[prost(message, repeated, tag = "4")]
279 pub children: ::prost::alloc::vec::Vec<WebUiFragmentRoute>,
280 #[prost(string, tag = "5")]
283 pub allowed_query: ::prost::alloc::string::String,
284 #[prost(bool, tag = "6")]
287 pub keep_alive: bool,
288 #[prost(string, repeated, tag = "7")]
291 pub cache_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
292 #[prost(string, repeated, tag = "8")]
296 pub invalidates: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
297 #[prost(string, tag = "9")]
300 pub pending_component: ::prost::alloc::string::String,
301 #[prost(string, tag = "10")]
304 pub error_component: ::prost::alloc::string::String,
305 #[prost(string, tag = "11")]
309 pub content_fragment_id: ::prost::alloc::string::String,
310}
311#[derive(serde::Serialize, serde::Deserialize)]
314#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
315pub struct WebUiFragmentOutlet {}
316#[derive(serde::Serialize, serde::Deserialize)]
320#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
321pub struct WebUiFragmentPlugin {
322 #[prost(bytes = "vec", tag = "1")]
323 pub data: ::prost::alloc::vec::Vec<u8>,
324}
325#[derive(serde::Serialize, serde::Deserialize)]
327#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
328pub struct WebUiFragmentRaw {
329 #[prost(string, tag = "1")]
330 pub value: ::prost::alloc::string::String,
331}
332#[derive(serde::Serialize, serde::Deserialize)]
334#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
335pub struct WebUiFragmentComponent {
336 #[prost(string, tag = "1")]
337 pub fragment_id: ::prost::alloc::string::String,
338}
339#[derive(serde::Serialize, serde::Deserialize)]
341#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
342pub struct WebUiFragmentFor {
343 #[prost(string, tag = "1")]
344 pub item: ::prost::alloc::string::String,
345 #[prost(string, tag = "2")]
346 pub collection: ::prost::alloc::string::String,
347 #[prost(string, tag = "3")]
348 pub fragment_id: ::prost::alloc::string::String,
349}
350#[derive(serde::Serialize, serde::Deserialize)]
352#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
353pub struct WebUiFragmentSignal {
354 #[prost(string, tag = "1")]
355 pub value: ::prost::alloc::string::String,
356 #[prost(bool, tag = "2")]
357 pub raw: bool,
358 #[prost(bool, tag = "3")]
361 pub raw_text_context: bool,
362}
363#[derive(serde::Serialize, serde::Deserialize)]
365#[derive(Clone, PartialEq, ::prost::Message)]
366pub struct WebUiFragmentIf {
367 #[prost(message, optional, tag = "1")]
368 pub condition: ::core::option::Option<ConditionExpr>,
369 #[prost(string, tag = "2")]
370 pub fragment_id: ::prost::alloc::string::String,
371}
372#[derive(serde::Serialize, serde::Deserialize)]
374#[derive(Clone, PartialEq, ::prost::Message)]
375pub struct WebUiFragmentAttribute {
376 #[prost(string, tag = "1")]
377 pub name: ::prost::alloc::string::String,
378 #[prost(string, tag = "2")]
380 pub value: ::prost::alloc::string::String,
381 #[prost(string, tag = "3")]
383 pub template: ::prost::alloc::string::String,
384 #[prost(bool, tag = "4")]
386 pub complex: bool,
387 #[prost(bool, tag = "5")]
389 pub attr_start: bool,
390 #[prost(bool, tag = "6")]
392 pub attr_skip: bool,
393 #[prost(bool, tag = "7")]
395 pub raw_value: bool,
396 #[prost(message, optional, tag = "8")]
398 pub condition_tree: ::core::option::Option<ConditionExpr>,
399}
400#[derive(serde::Serialize, serde::Deserialize)]
402#[derive(Clone, PartialEq, ::prost::Message)]
403pub struct ConditionExpr {
404 #[prost(oneof = "condition_expr::Expr", tags = "1, 2, 3, 4")]
405 pub expr: ::core::option::Option<condition_expr::Expr>,
406}
407pub mod condition_expr {
409 #[derive(serde::Serialize, serde::Deserialize)]
410 #[derive(Clone, PartialEq, ::prost::Oneof)]
411 pub enum Expr {
412 #[prost(message, tag = "1")]
413 Predicate(super::Predicate),
414 #[prost(message, tag = "2")]
415 Not(::prost::alloc::boxed::Box<super::NotCondition>),
416 #[prost(message, tag = "3")]
417 Compound(::prost::alloc::boxed::Box<super::CompoundCondition>),
418 #[prost(message, tag = "4")]
419 Identifier(super::IdentifierCondition),
420 }
421}
422#[derive(serde::Serialize, serde::Deserialize)]
424#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
425pub struct Predicate {
426 #[prost(string, tag = "1")]
427 pub left: ::prost::alloc::string::String,
428 #[prost(enumeration = "ComparisonOperator", tag = "2")]
429 pub operator: i32,
430 #[prost(string, tag = "3")]
431 pub right: ::prost::alloc::string::String,
432}
433#[derive(serde::Serialize, serde::Deserialize)]
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct NotCondition {
437 #[prost(message, optional, boxed, tag = "1")]
438 pub condition: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
439}
440#[derive(serde::Serialize, serde::Deserialize)]
442#[derive(Clone, PartialEq, ::prost::Message)]
443pub struct CompoundCondition {
444 #[prost(message, optional, boxed, tag = "1")]
445 pub left: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
446 #[prost(enumeration = "LogicalOperator", tag = "2")]
447 pub op: i32,
448 #[prost(message, optional, boxed, tag = "3")]
449 pub right: ::core::option::Option<::prost::alloc::boxed::Box<ConditionExpr>>,
450}
451#[derive(serde::Serialize, serde::Deserialize)]
453#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
454pub struct IdentifierCondition {
455 #[prost(string, tag = "1")]
456 pub value: ::prost::alloc::string::String,
457}
458#[derive(serde::Serialize, serde::Deserialize)]
460#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
461#[repr(i32)]
462pub enum ComponentWorkPolicy {
463 Eager = 0,
464 LazyHydration = 1,
465 LazyRender = 2,
466 Interaction = 3,
467 LazyRenderInteraction = 4,
468}
469impl ComponentWorkPolicy {
470 pub fn as_str_name(&self) -> &'static str {
475 match self {
476 Self::Eager => "COMPONENT_WORK_POLICY_EAGER",
477 Self::LazyHydration => "COMPONENT_WORK_POLICY_LAZY_HYDRATION",
478 Self::LazyRender => "COMPONENT_WORK_POLICY_LAZY_RENDER",
479 Self::Interaction => "COMPONENT_WORK_POLICY_INTERACTION",
480 Self::LazyRenderInteraction => {
481 "COMPONENT_WORK_POLICY_LAZY_RENDER_INTERACTION"
482 }
483 }
484 }
485 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
487 match value {
488 "COMPONENT_WORK_POLICY_EAGER" => Some(Self::Eager),
489 "COMPONENT_WORK_POLICY_LAZY_HYDRATION" => Some(Self::LazyHydration),
490 "COMPONENT_WORK_POLICY_LAZY_RENDER" => Some(Self::LazyRender),
491 "COMPONENT_WORK_POLICY_INTERACTION" => Some(Self::Interaction),
492 "COMPONENT_WORK_POLICY_LAZY_RENDER_INTERACTION" => {
493 Some(Self::LazyRenderInteraction)
494 }
495 _ => None,
496 }
497 }
498}
499#[derive(serde::Serialize, serde::Deserialize)]
501#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
502#[repr(i32)]
503pub enum InitialStateStrategy {
504 Full = 0,
506 Components = 1,
508}
509impl InitialStateStrategy {
510 pub fn as_str_name(&self) -> &'static str {
515 match self {
516 Self::Full => "INITIAL_STATE_STRATEGY_FULL",
517 Self::Components => "INITIAL_STATE_STRATEGY_COMPONENTS",
518 }
519 }
520 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
522 match value {
523 "INITIAL_STATE_STRATEGY_FULL" => Some(Self::Full),
524 "INITIAL_STATE_STRATEGY_COMPONENTS" => Some(Self::Components),
525 _ => None,
526 }
527 }
528}
529#[derive(serde::Serialize, serde::Deserialize)]
531#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
532#[repr(i32)]
533pub enum StateProjectionMode {
534 None = 0,
536 Keys = 1,
538 All = 2,
540}
541impl StateProjectionMode {
542 pub fn as_str_name(&self) -> &'static str {
547 match self {
548 Self::None => "STATE_PROJECTION_MODE_NONE",
549 Self::Keys => "STATE_PROJECTION_MODE_KEYS",
550 Self::All => "STATE_PROJECTION_MODE_ALL",
551 }
552 }
553 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
555 match value {
556 "STATE_PROJECTION_MODE_NONE" => Some(Self::None),
557 "STATE_PROJECTION_MODE_KEYS" => Some(Self::Keys),
558 "STATE_PROJECTION_MODE_ALL" => Some(Self::All),
559 _ => None,
560 }
561 }
562}
563#[derive(serde::Serialize, serde::Deserialize)]
565#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
566#[repr(i32)]
567pub enum CssStrategy {
568 Link = 0,
569 Style = 1,
570 Module = 2,
571}
572impl CssStrategy {
573 pub fn as_str_name(&self) -> &'static str {
578 match self {
579 Self::Link => "CSS_STRATEGY_LINK",
580 Self::Style => "CSS_STRATEGY_STYLE",
581 Self::Module => "CSS_STRATEGY_MODULE",
582 }
583 }
584 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
586 match value {
587 "CSS_STRATEGY_LINK" => Some(Self::Link),
588 "CSS_STRATEGY_STYLE" => Some(Self::Style),
589 "CSS_STRATEGY_MODULE" => Some(Self::Module),
590 _ => None,
591 }
592 }
593}
594#[derive(serde::Serialize, serde::Deserialize)]
596#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
597#[repr(i32)]
598pub enum BoundaryPhase {
599 Start = 0,
601 End = 1,
604}
605impl BoundaryPhase {
606 pub fn as_str_name(&self) -> &'static str {
611 match self {
612 Self::Start => "BOUNDARY_PHASE_START",
613 Self::End => "BOUNDARY_PHASE_END",
614 }
615 }
616 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
618 match value {
619 "BOUNDARY_PHASE_START" => Some(Self::Start),
620 "BOUNDARY_PHASE_END" => Some(Self::End),
621 _ => None,
622 }
623 }
624}
625#[derive(serde::Serialize, serde::Deserialize)]
626#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
627#[repr(i32)]
628pub enum LogicalOperator {
629 Unspecified = 0,
630 And = 1,
631 Or = 2,
632}
633impl LogicalOperator {
634 pub fn as_str_name(&self) -> &'static str {
639 match self {
640 Self::Unspecified => "LOGICAL_OPERATOR_UNSPECIFIED",
641 Self::And => "AND",
642 Self::Or => "OR",
643 }
644 }
645 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
647 match value {
648 "LOGICAL_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
649 "AND" => Some(Self::And),
650 "OR" => Some(Self::Or),
651 _ => None,
652 }
653 }
654}
655#[derive(serde::Serialize, serde::Deserialize)]
656#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
657#[repr(i32)]
658pub enum ComparisonOperator {
659 Unspecified = 0,
660 GreaterThan = 1,
661 LessThan = 2,
662 Equal = 3,
663 NotEqual = 4,
664 GreaterThanOrEqual = 5,
665 LessThanOrEqual = 6,
666}
667impl ComparisonOperator {
668 pub fn as_str_name(&self) -> &'static str {
673 match self {
674 Self::Unspecified => "COMPARISON_OPERATOR_UNSPECIFIED",
675 Self::GreaterThan => "GREATER_THAN",
676 Self::LessThan => "LESS_THAN",
677 Self::Equal => "EQUAL",
678 Self::NotEqual => "NOT_EQUAL",
679 Self::GreaterThanOrEqual => "GREATER_THAN_OR_EQUAL",
680 Self::LessThanOrEqual => "LESS_THAN_OR_EQUAL",
681 }
682 }
683 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
685 match value {
686 "COMPARISON_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
687 "GREATER_THAN" => Some(Self::GreaterThan),
688 "LESS_THAN" => Some(Self::LessThan),
689 "EQUAL" => Some(Self::Equal),
690 "NOT_EQUAL" => Some(Self::NotEqual),
691 "GREATER_THAN_OR_EQUAL" => Some(Self::GreaterThanOrEqual),
692 "LESS_THAN_OR_EQUAL" => Some(Self::LessThanOrEqual),
693 _ => None,
694 }
695 }
696}