1mod context;
21mod filter;
22mod hooks;
23mod query;
24mod types;
25pub mod adapter;
26#[cfg(feature = "axum")]
27pub mod axum;
28#[cfg(feature = "axum")]
29pub use axum::HyleRenderer;
30
31pub use context::{use_context_provider, use_hyle_components, HyleConfig};
32pub use filter::{FilterField, FormFilterField};
33pub use hooks::{form_body, use_data, use_filters, use_form, use_forma, use_list, use_list_with_filters, use_manifest, use_mutation};
34pub use query::{
35 make_fullstack_adapter, use_dioxus_mutation, use_fullstack_source,
36 DioxusMutationOptions, InvalidationSignal,
37};
38pub use types::{
39 field_type_key, BoundMutateInput, BoundMutation, BoundMutations, DioxusFieldChangeFn,
40 DioxusFieldChangeMap, HyleAdapter,
41 HyleComponents, HyleFilterField, HyleFilterFieldProps,
42 HyleFiltersState, HyleFormState, HyleListState, HyleMutation,
43 HyleSourceState, HyleValueProps, UseFiltersOptions, UseFormOptions,
44 UseSource,
45};
46pub use adapter::{
47 apply_change, build_effective_query, build_filter_fields, compute_data, compute_forma_result,
48 compute_manifest, run_purify, AdapterFiltersOptions, AdapterFormOptions, FieldChange,
49 FieldChangeFn, FieldChangeMap, FormErrors, HyleDataField, HyleDataState,
50 HyleManifestState, UseFormaOptions,
51};
52
53pub use hyle::{
55 Blueprint, Column, Field, FieldType, Forma, FormaContext, FormaField, FormaFieldType, Manifest,
56 Model, Primitive, PurifyError, Query, Row, Sort, Source, Value,
57};
58
59pub static CSS: manganis::Asset = manganis::asset!("assets/hyle.css");
61
62#[macro_export]
80macro_rules! use_adapter_config {
81 ($adapter:expr) => {
82 {
83 use dioxus::prelude::use_context_provider;
84 use hyle_dioxus::HyleAdapter;
85 let _hyle_adapter: HyleAdapter = $adapter;
86 use_context_provider(|| _hyle_adapter);
87 }
88 };
89}