{
  "page_ir": {
    "page_id": "public_catalog",
    "page_goal": "Public landing page and book catalog with hero section, search, category browsing, new arrivals, popular books, and search results with filtering and pagination",
    "style": {
      "tone": "welcoming",
      "theme": "light",
      "density": "comfortable",
      "color_intent": "professional library branding with blue primary"
    },
    "accessibility": {
      "required_labels": [
        "search_input",
        "category_filter",
        "author_filter",
        "language_filter",
        "sort_select"
      ],
      "skip_navigation": true,
      "focus_management": true,
      "announce_changes": []
    },
    "responsive": {
      "breakpoints": {
        "sm": 576,
        "md": 768,
        "lg": 992,
        "xl": 1200
      },
      "collapse_rules": [
        "advanced_filters_panel collapses on small screens",
        "book_grid reduces to 1 column on mobile",
        "hero section stacks vertically on mobile"
      ],
      "hidden_on_small": [
        "footer_policies_section"
      ],
      "stack_on_small": []
    },
    "constraints": [
      "Search results paginated at 20 per page",
      "New arrivals limited to books added in last 30 days",
      "Popular books based on most borrowed in last 90 days"
    ],
    "seo_title": null,
    "seo_description": null
  },
  "data_ir": {
    "types": {},
    "state": {
      "books": {
        "type": "array",
        "initial": [],
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "newArrivals": {
        "type": "array",
        "initial": [],
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "popularBooks": {
        "type": "array",
        "initial": [],
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "categories": {
        "type": "array",
        "initial": [],
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "searchQuery": {
        "type": "string",
        "initial": "",
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "selectedCategory": {
        "type": "string",
        "initial": "",
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "authorFilter": {
        "type": "string",
        "initial": "",
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "languageFilter": {
        "type": "string",
        "initial": "",
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "yearRangeFilter": {
        "type": "array",
        "initial": [],
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "sortBy": {
        "type": "string",
        "initial": "relevance",
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "currentPage": {
        "type": "number",
        "initial": 1,
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "totalResults": {
        "type": "number",
        "initial": 0,
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "isSearching": {
        "type": "boolean",
        "initial": false,
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "loading": {
        "type": "boolean",
        "initial": false,
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "advancedFiltersVisible": {
        "type": "boolean",
        "initial": false,
        "required": false,
        "constraints": {},
        "item_type": null
      },
      "searchResults": {
        "type": "array",
        "initial": [],
        "required": false,
        "constraints": {},
        "item_type": null
      }
    },
    "derived": {
      "hasSearchResults": {
        "type": "boolean",
        "expr": "state.searchResults.length > 0 || state.isSearching",
        "deps": []
      },
      "totalPages": {
        "type": "number",
        "expr": "Math.ceil(state.totalResults / 20)",
        "deps": []
      }
    }
  },
  "data_fetch_ir": {
    "endpoints": {
      "790bcda4c57548d9a096edffe204827a": {
        "endpoint_id": "790bcda4c57548d9a096edffe204827a",
        "module": "Catalog",
        "endpoint": "/catalog/books",
        "method": "GET",
        "path_params": {},
        "query_params": {
          "limit": 20,
          "offset": 0
        },
        "body": null,
        "fields": [
          "id",
          "title",
          "book_authors"
        ],
        "response_target": "books",
        "response_transform": null,
        "trigger": "on_mount",
        "depends_on": [],
        "debounce_ms": null,
        "loading_field": null,
        "error_field": null
      },
      "e24dc7c4d597471983e54f2d494928de": {
        "endpoint_id": "e24dc7c4d597471983e54f2d494928de",
        "module": "Catalog",
        "endpoint": "/catalog/categories",
        "method": "GET",
        "path_params": {},
        "query_params": {
          "limit": 50,
          "offset": 0
        },
        "body": null,
        "fields": [
          "id",
          "name",
          "description",
          "parent_category_id"
        ],
        "response_target": "categories",
        "response_transform": null,
        "trigger": "on_mount",
        "depends_on": [],
        "debounce_ms": null,
        "loading_field": null,
        "error_field": null
      },
      "fc865f363e7b4224b2af76805133c044": {
        "endpoint_id": "fc865f363e7b4224b2af76805133c044",
        "module": "Catalog",
        "endpoint": "/catalog/books/search",
        "method": "GET",
        "path_params": {},
        "query_params": {
          "title": "$state.searchQuery",
          "author": "$state.authorFilter",
          "category": "$state.selectedCategory",
          "language": "$state.languageFilter",
          "limit": 20,
          "offset": "($state.currentPage - 1) * 20"
        },
        "body": null,
        "fields": [
          "id",
          "title",
          "book_authors"
        ],
        "response_target": "searchResults",
        "response_transform": null,
        "trigger": "manual",
        "depends_on": [],
        "debounce_ms": null,
        "loading_field": null,
        "error_field": null
      },
      "87cb3eb03d5c4b72ae61f2a47225b799": {
        "endpoint_id": "87cb3eb03d5c4b72ae61f2a47225b799",
        "module": "Catalog",
        "endpoint": "/catalog/books",
        "method": "GET",
        "path_params": {},
        "query_params": {
          "limit": 10,
          "offset": 0
        },
        "body": null,
        "fields": [
          "id",
          "title",
          "book_authors"
        ],
        "response_target": "newArrivals",
        "response_transform": null,
        "trigger": "on_mount",
        "depends_on": [],
        "debounce_ms": null,
        "loading_field": null,
        "error_field": null
      },
      "fe2c4faabe944c088879c365197320f8": {
        "endpoint_id": "fe2c4faabe944c088879c365197320f8",
        "module": "Catalog",
        "endpoint": "/catalog/books",
        "method": "GET",
        "path_params": {},
        "query_params": {
          "limit": 10,
          "offset": 0
        },
        "body": null,
        "fields": [
          "id",
          "title",
          "book_authors"
        ],
        "response_target": "popularBooks",
        "response_transform": null,
        "trigger": "on_mount",
        "depends_on": [],
        "debounce_ms": null,
        "loading_field": null,
        "error_field": null
      }
    }
  },
  "data_model_ir": {
    "entities": {
      "book": {
        "name": "Book",
        "backend_module": "Catalog",
        "fields": [
          "id",
          "title",
          "book_authors",
          "isbn",
          "publisher",
          "publication_date",
          "edition",
          "number_of_pages",
          "language",
          "description",
          "cover_image_url"
        ],
        "computed": [],
        "display_fields": [
          "title",
          "book_authors",
          "cover_image_url"
        ],
        "search_fields": [],
        "filters": [
          "title",
          "isbn",
          "language"
        ],
        "default_sort": null,
        "default_sort_dir": "asc"
      },
      "category": {
        "name": "Category",
        "backend_module": "Catalog",
        "fields": [
          "id",
          "name",
          "description",
          "parent_category_id"
        ],
        "computed": [],
        "display_fields": [
          "name"
        ],
        "search_fields": [],
        "filters": [
          "name"
        ],
        "default_sort": null,
        "default_sort_dir": "asc"
      },
      "author": {
        "name": "Author",
        "backend_module": "Catalog",
        "fields": [
          "id",
          "name"
        ],
        "computed": [],
        "display_fields": [
          "name"
        ],
        "search_fields": [],
        "filters": [
          "name"
        ],
        "default_sort": null,
        "default_sort_dir": "asc"
      }
    },
    "relationships": []
  },
  "behaviour_ir": {
    "events": {
      "onSearchInputChange": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.searchQuery",
            "expr": "event.target.value"
          }
        ],
        "description": ""
      },
      "onCategorySelect": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.selectedCategory",
            "expr": "event.value"
          },
          {
            "target": "state.isSearching",
            "expr": "true"
          },
          {
            "target": "state.currentPage",
            "expr": "1"
          }
        ],
        "description": ""
      },
      "onSortChange": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.sortBy",
            "expr": "event.value"
          }
        ],
        "description": ""
      },
      "onPageChange": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.currentPage",
            "expr": "event.page"
          }
        ],
        "description": ""
      },
      "toggleAdvancedFilters": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.advancedFiltersVisible",
            "expr": "!state.advancedFiltersVisible"
          }
        ],
        "description": ""
      },
      "onAuthorFilterChange": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.authorFilter",
            "expr": "event.target.value"
          }
        ],
        "description": ""
      },
      "onLanguageFilterChange": {
        "type": "mutation",
        "updates": [
          {
            "target": "state.languageFilter",
            "expr": "event.value"
          }
        ],
        "description": ""
      }
    },
    "actions": {
      "fc865f363e7b4224b2af76805133c044": {
        "action_id": "fc865f363e7b4224b2af76805133c044",
        "trigger": "form_submit",
        "target_component_id": "search_input",
        "operation": "read",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [
          {
            "target": "state.isSearching",
            "expr": "true"
          },
          {
            "target": "state.currentPage",
            "expr": "1"
          },
          {
            "target": "state.loading",
            "expr": "true"
          }
        ],
        "api_endpoint": "fc865f363e7b4224b2af76805133c044",
        "api_body": null,
        "side_effects": [],
        "then": null,
        "catch": null,
        "data_action": null
      },
      "e0ec5b159c9941d08761dea8c3cce24d": {
        "action_id": "e0ec5b159c9941d08761dea8c3cce24d",
        "trigger": "row_click",
        "target_component_id": "book_card",
        "operation": "custom",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [],
        "api_endpoint": null,
        "api_body": null,
        "side_effects": [
          {
            "type": "navigate",
            "config": {
              "path": "/books/${bookId}"
            }
          }
        ],
        "then": null,
        "catch": null,
        "data_action": null
      },
      "c08a476e517b43749a19b1571dcf4733": {
        "action_id": "c08a476e517b43749a19b1571dcf4733",
        "trigger": "button_click",
        "target_component_id": "login_button",
        "operation": "custom",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [],
        "api_endpoint": null,
        "api_body": null,
        "side_effects": [
          {
            "type": "navigate",
            "config": {
              "path": "/login"
            }
          }
        ],
        "then": null,
        "catch": null,
        "data_action": null
      },
      "ec5e9bddca0f4d518fac7514b8576852": {
        "action_id": "ec5e9bddca0f4d518fac7514b8576852",
        "trigger": "button_click",
        "target_component_id": "register_button",
        "operation": "custom",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [],
        "api_endpoint": null,
        "api_body": null,
        "side_effects": [
          {
            "type": "navigate",
            "config": {
              "path": "/register"
            }
          }
        ],
        "then": null,
        "catch": null,
        "data_action": null
      },
      "97913946011c4223aa5d0ea320a5ef81": {
        "action_id": "97913946011c4223aa5d0ea320a5ef81",
        "trigger": "button_click",
        "target_component_id": "user_avatar_dropdown",
        "operation": "custom",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [],
        "api_endpoint": null,
        "api_body": null,
        "side_effects": [
          {
            "type": "navigate",
            "config": {
              "path": "/dashboard"
            }
          }
        ],
        "then": null,
        "catch": null,
        "data_action": null
      },
      "4043fea4303840778c70668f68e9cedb": {
        "action_id": "4043fea4303840778c70668f68e9cedb",
        "trigger": "button_click",
        "target_component_id": "apply_filters_button",
        "operation": "read",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [
          {
            "target": "state.isSearching",
            "expr": "true"
          },
          {
            "target": "state.currentPage",
            "expr": "1"
          },
          {
            "target": "state.loading",
            "expr": "true"
          }
        ],
        "api_endpoint": "fc865f363e7b4224b2af76805133c044",
        "api_body": null,
        "side_effects": [],
        "then": null,
        "catch": null,
        "data_action": null
      },
      "12847b5925194f559752c16075657b75": {
        "action_id": "12847b5925194f559752c16075657b75",
        "trigger": "button_click",
        "target_component_id": "clear_filters_button",
        "operation": "custom",
        "description": "",
        "payload": {},
        "guard": null,
        "requires_confirmation": false,
        "confirmation_message": null,
        "validation_rules": [],
        "validation_messages": {},
        "updates": [
          {
            "target": "state.searchQuery",
            "expr": "''"
          },
          {
            "target": "state.selectedCategory",
            "expr": "''"
          },
          {
            "target": "state.authorFilter",
            "expr": "''"
          },
          {
            "target": "state.languageFilter",
            "expr": "''"
          },
          {
            "target": "state.yearRangeFilter",
            "expr": "[]"
          },
          {
            "target": "state.isSearching",
            "expr": "false"
          },
          {
            "target": "state.currentPage",
            "expr": "1"
          },
          {
            "target": "state.searchResults",
            "expr": "[]"
          }
        ],
        "api_endpoint": null,
        "api_body": null,
        "side_effects": [],
        "then": null,
        "catch": null,
        "data_action": null
      }
    },
    "feedback": {
      "fc865f363e7b4224b2af76805133c044": {
        "action_id": "fc865f363e7b4224b2af76805133c044",
        "loading_indicator": "spinner",
        "loading_text": null,
        "success_message": null,
        "error_message": "Failed to search books. Please try again.",
        "ui_updates": []
      },
      "e0ec5b159c9941d08761dea8c3cce24d": {
        "action_id": "e0ec5b159c9941d08761dea8c3cce24d",
        "loading_indicator": null,
        "loading_text": null,
        "success_message": null,
        "error_message": null,
        "ui_updates": []
      },
      "c08a476e517b43749a19b1571dcf4733": {
        "action_id": "c08a476e517b43749a19b1571dcf4733",
        "loading_indicator": null,
        "loading_text": null,
        "success_message": null,
        "error_message": null,
        "ui_updates": []
      },
      "ec5e9bddca0f4d518fac7514b8576852": {
        "action_id": "ec5e9bddca0f4d518fac7514b8576852",
        "loading_indicator": null,
        "loading_text": null,
        "success_message": null,
        "error_message": null,
        "ui_updates": []
      },
      "97913946011c4223aa5d0ea320a5ef81": {
        "action_id": "97913946011c4223aa5d0ea320a5ef81",
        "loading_indicator": null,
        "loading_text": null,
        "success_message": null,
        "error_message": null,
        "ui_updates": []
      },
      "4043fea4303840778c70668f68e9cedb": {
        "action_id": "4043fea4303840778c70668f68e9cedb",
        "loading_indicator": "spinner",
        "loading_text": null,
        "success_message": null,
        "error_message": "Failed to apply filters. Please try again.",
        "ui_updates": []
      },
      "12847b5925194f559752c16075657b75": {
        "action_id": "12847b5925194f559752c16075657b75",
        "loading_indicator": null,
        "loading_text": null,
        "success_message": "Filters cleared",
        "error_message": null,
        "ui_updates": []
      }
    }
  },
  "component_ir": {
    "library": "antd",
    "theme": {
      "primaryColor": "#1677ff",
      "secondaryColor": "#000000",
      "successColor": null,
      "warningColor": null,
      "errorColor": null,
      "fontFamily": "sans-serif",
      "fontSize": null,
      "borderRadius": 6
    },
    "components": {
      "main_container": {
        "type": "Layout",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "minHeight": "100vh",
          "width": "100%"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "header_section": {
        "type": "Layout.Header",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "background": "#ffffff",
          "padding": "0 24px",
          "display": "flex",
          "alignItems": "center",
          "justifyContent": "space-between",
          "boxShadow": "0 2px 8px rgba(0,0,0,0.06)",
          "position": "sticky",
          "top": 0,
          "zIndex": 100
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "logo_text": {
        "type": "Typography.Title",
        "label": "Library Management System",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 4
        },
        "dynamic_props": {},
        "styles": {
          "margin": 0,
          "color": "#1677ff"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "header_nav": {
        "type": "Space",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "size": "middle"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "notifications_badge": {
        "type": "Badge",
        "label": null,
        "description": null,
        "bind": "appContext.unreadNotificationCount",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "count": "appContext.unreadNotificationCount"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "login_button": {
        "type": "Button",
        "label": "Login",
        "description": null,
        "bind": null,
        "onClick": "navigateToLogin",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "type": "default"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "register_button": {
        "type": "Button",
        "label": "Register",
        "description": null,
        "bind": null,
        "onClick": "navigateToRegister",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "type": "primary"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "user_avatar_dropdown": {
        "type": "Dropdown",
        "label": null,
        "description": null,
        "bind": "appContext.currentUser",
        "onClick": "navigateToDashboard",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "menu": {
            "items": [
              {
                "key": "dashboard",
                "label": "My Dashboard"
              },
              {
                "key": "profile",
                "label": "My Profile"
              },
              {
                "key": "logout",
                "label": "Logout"
              }
            ]
          }
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "content_section": {
        "type": "Layout.Content",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "padding": "0"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "hero_section": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "background": "linear-gradient(135deg, #1677ff 0%, #4096ff 100%)",
          "padding": "64px 24px",
          "textAlign": "center",
          "color": "#ffffff"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "hero_title": {
        "type": "Typography.Title",
        "label": "Welcome to the Library",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 1
        },
        "dynamic_props": {},
        "styles": {
          "color": "#ffffff",
          "marginBottom": "8px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "hero_subtitle": {
        "type": "Typography.Paragraph",
        "label": "Discover thousands of books, explore new worlds, and expand your knowledge",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "color": "rgba(255,255,255,0.85)",
          "fontSize": "18px",
          "marginBottom": "32px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "search_container": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "maxWidth": "700px",
          "margin": "0 auto"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "search_input": {
        "type": "Input.Search",
        "label": "Search books by title, author, or ISBN",
        "description": null,
        "bind": "state.searchQuery",
        "onClick": "searchBooks",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "placeholder": "Search by title, author, ISBN, or keyword...",
          "size": "large",
          "enterButton": true,
          "allowClear": true
        },
        "dynamic_props": {},
        "styles": {
          "width": "100%"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "advanced_filter_toggle": {
        "type": "Button",
        "label": "Advanced Filters",
        "description": null,
        "bind": null,
        "onClick": "toggleAdvancedFilters",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "type": "link",
          "size": "small"
        },
        "dynamic_props": {},
        "styles": {
          "color": "rgba(255,255,255,0.85)",
          "marginTop": "12px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "body_content": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "maxWidth": "1200px",
          "margin": "0 auto",
          "padding": "32px 24px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "advanced_filters_panel": {
        "type": "Card",
        "label": null,
        "description": null,
        "bind": "state.advancedFiltersVisible",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "title": "Advanced Search Filters",
          "bordered": true
        },
        "dynamic_props": {},
        "styles": {
          "marginBottom": "24px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "filter_author_input": {
        "type": "Input",
        "label": "Author",
        "description": null,
        "bind": "state.authorFilter",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "placeholder": "Filter by author name"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "filter_category_select": {
        "type": "Select",
        "label": "Category",
        "description": null,
        "bind": "state.selectedCategory",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "placeholder": "Select category",
          "allowClear": true,
          "options": "state.categories.map(c => ({label: c.name, value: c.id}))"
        },
        "dynamic_props": {},
        "styles": {
          "width": "100%"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "filter_language_select": {
        "type": "Select",
        "label": "Language",
        "description": null,
        "bind": "state.languageFilter",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "placeholder": "Select language",
          "allowClear": true,
          "options": [
            {
              "label": "English",
              "value": "English"
            },
            {
              "label": "Spanish",
              "value": "Spanish"
            },
            {
              "label": "French",
              "value": "French"
            },
            {
              "label": "German",
              "value": "German"
            }
          ]
        },
        "dynamic_props": {},
        "styles": {
          "width": "100%"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "filter_year_range": {
        "type": "DatePicker.RangePicker",
        "label": "Publication Year Range",
        "description": null,
        "bind": "state.yearRangeFilter",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "picker": "year",
          "placeholder": [
            "From Year",
            "To Year"
          ]
        },
        "dynamic_props": {},
        "styles": {
          "width": "100%"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "apply_filters_button": {
        "type": "Button",
        "label": "Apply Filters",
        "description": null,
        "bind": null,
        "onClick": "applyAdvancedFilters",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "type": "primary"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "clear_filters_button": {
        "type": "Button",
        "label": "Clear All",
        "description": null,
        "bind": null,
        "onClick": "clearFilters",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "type": "default"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "categories_section": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "marginBottom": "32px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "categories_title": {
        "type": "Typography.Title",
        "label": "Browse by Category",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 4
        },
        "dynamic_props": {},
        "styles": {
          "marginBottom": "16px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "category_tags": {
        "type": "Space",
        "label": null,
        "description": null,
        "bind": "state.categories",
        "onClick": "onCategorySelect",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "wrap": true,
          "size": "small"
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "new_arrivals_section": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "marginBottom": "40px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "new_arrivals_title": {
        "type": "Typography.Title",
        "label": "New Arrivals",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 3
        },
        "dynamic_props": {},
        "styles": {
          "marginBottom": "16px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "new_arrivals_carousel": {
        "type": "Carousel",
        "label": null,
        "description": null,
        "bind": "state.newArrivals",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "slidesToShow": 4,
          "autoplay": true,
          "dots": true
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "popular_books_section": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "marginBottom": "40px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "popular_books_title": {
        "type": "Typography.Title",
        "label": "Popular Books",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 3
        },
        "dynamic_props": {},
        "styles": {
          "marginBottom": "16px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "popular_books_grid": {
        "type": "Row",
        "label": null,
        "description": null,
        "bind": "state.popularBooks",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "gutter": [
            16,
            16
          ]
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "search_results_section": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": "state.isSearching",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "marginBottom": "40px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "search_results_header": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "display": "flex",
          "justifyContent": "space-between",
          "alignItems": "center",
          "marginBottom": "16px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "search_results_title": {
        "type": "Typography.Title",
        "label": "Search Results",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 3
        },
        "dynamic_props": {},
        "styles": {
          "margin": 0
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "sort_select": {
        "type": "Select",
        "label": "Sort by",
        "description": null,
        "bind": "state.sortBy",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "options": [
            {
              "label": "Relevance",
              "value": "relevance"
            },
            {
              "label": "Title A-Z",
              "value": "title_asc"
            },
            {
              "label": "Title Z-A",
              "value": "title_desc"
            },
            {
              "label": "Author",
              "value": "author"
            },
            {
              "label": "Newest First",
              "value": "date_desc"
            },
            {
              "label": "Oldest First",
              "value": "date_asc"
            }
          ],
          "style": {
            "width": "180px"
          }
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "search_results_grid": {
        "type": "Row",
        "label": null,
        "description": null,
        "bind": "state.searchResults",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "gutter": [
            16,
            16
          ]
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "book_card": {
        "type": "Card",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": "navigateToBookDetail",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "hoverable": true,
          "cover": "book.cover_image_url"
        },
        "dynamic_props": {},
        "styles": {
          "cursor": "pointer"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "results_pagination": {
        "type": "Pagination",
        "label": null,
        "description": null,
        "bind": "state.currentPage",
        "onClick": "onPageChange",
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "pageSize": 20,
          "total": "state.totalResults",
          "showSizeChanger": false,
          "showQuickJumper": true
        },
        "dynamic_props": {},
        "styles": {
          "textAlign": "center",
          "marginTop": "24px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "loading_spinner": {
        "type": "Spin",
        "label": null,
        "description": null,
        "bind": "state.loading",
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "size": "large"
        },
        "dynamic_props": {},
        "styles": {
          "display": "flex",
          "justifyContent": "center",
          "padding": "48px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "empty_results": {
        "type": "Empty",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "description": "No books found matching your search criteria"
        },
        "dynamic_props": {},
        "styles": {
          "padding": "48px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_section": {
        "type": "Layout.Footer",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "background": "#f5f5f5",
          "padding": "48px 24px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_content": {
        "type": "Row",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "gutter": [
            32,
            32
          ]
        },
        "dynamic_props": {},
        "styles": {
          "maxWidth": "1200px",
          "margin": "0 auto"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_about": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_about_title": {
        "type": "Typography.Title",
        "label": "About the Library",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 5
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_about_text": {
        "type": "Typography.Paragraph",
        "label": "Your community library providing access to knowledge, resources, and programs for all ages.",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "color": "rgba(0,0,0,0.65)"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_policies_section": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_policies_title": {
        "type": "Typography.Title",
        "label": "Library Policies",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 5
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_policies_text": {
        "type": "Typography.Paragraph",
        "label": "Loan period: 14 days • Max renewals: 2 • Max loans: 5 • Overdue fine: $0.50/day",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "color": "rgba(0,0,0,0.65)"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_contact": {
        "type": "div",
        "label": null,
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_contact_title": {
        "type": "Typography.Title",
        "label": "Contact Us",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "level": 5
        },
        "dynamic_props": {},
        "styles": {},
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_contact_text": {
        "type": "Typography.Paragraph",
        "label": "Visit us at your nearest branch or reach out via email for assistance.",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {},
        "dynamic_props": {},
        "styles": {
          "color": "rgba(0,0,0,0.65)"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      },
      "footer_copyright": {
        "type": "Typography.Text",
        "label": "© 2025 Library Management System. All rights reserved.",
        "description": null,
        "bind": null,
        "onClick": null,
        "onChange": null,
        "onSubmit": null,
        "onHover": null,
        "onKeyPress": null,
        "props": {
          "type": "secondary"
        },
        "dynamic_props": {},
        "styles": {
          "display": "block",
          "textAlign": "center",
          "marginTop": "24px"
        },
        "dynamic_styles": {},
        "class_name": null,
        "dynamic_class": null,
        "transitions": [],
        "visible_when": null,
        "disabled_when": null,
        "repeat": null,
        "slots": {},
        "a11y_role": null,
        "a11y_label": null
      }
    }
  },
  "layout_ir": {
    "root": "main_container",
    "children": {
      "main_container": [
        "header_section",
        "content_section",
        "footer_section"
      ],
      "header_section": [
        "logo_text",
        "header_nav"
      ],
      "header_nav": [
        "notifications_badge",
        "login_button",
        "register_button",
        "user_avatar_dropdown"
      ],
      "content_section": [
        "hero_section",
        "body_content"
      ],
      "hero_section": [
        "hero_title",
        "hero_subtitle",
        "search_container"
      ],
      "search_container": [
        "search_input",
        "advanced_filter_toggle"
      ],
      "body_content": [
        "advanced_filters_panel",
        "categories_section",
        "new_arrivals_section",
        "popular_books_section",
        "search_results_section"
      ],
      "advanced_filters_panel": [
        "filter_author_input",
        "filter_category_select",
        "filter_language_select",
        "filter_year_range",
        "apply_filters_button",
        "clear_filters_button"
      ],
      "categories_section": [
        "categories_title",
        "category_tags"
      ],
      "new_arrivals_section": [
        "new_arrivals_title",
        "new_arrivals_carousel"
      ],
      "popular_books_section": [
        "popular_books_title",
        "popular_books_grid"
      ],
      "search_results_section": [
        "search_results_header",
        "loading_spinner",
        "search_results_grid",
        "empty_results",
        "results_pagination"
      ],
      "search_results_header": [
        "search_results_title",
        "sort_select"
      ],
      "footer_section": [
        "footer_content",
        "footer_copyright"
      ],
      "footer_content": [
        "footer_about",
        "footer_policies_section",
        "footer_contact"
      ],
      "footer_about": [
        "footer_about_title",
        "footer_about_text"
      ],
      "footer_policies_section": [
        "footer_policies_title",
        "footer_policies_text"
      ],
      "footer_contact": [
        "footer_contact_title",
        "footer_contact_text"
      ]
    },
    "layout": {
      "main_container": {
        "type": "vertical",
        "gap": 0,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "header_section": {
        "type": "horizontal",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "header_nav": {
        "type": "horizontal",
        "gap": 12,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "content_section": {
        "type": "vertical",
        "gap": 0,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "hero_section": {
        "type": "vertical",
        "gap": 8,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "search_container": {
        "type": "vertical",
        "gap": 8,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "body_content": {
        "type": "vertical",
        "gap": 0,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "advanced_filters_panel": {
        "type": "grid",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "categories_section": {
        "type": "vertical",
        "gap": 12,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "new_arrivals_section": {
        "type": "vertical",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "popular_books_section": {
        "type": "vertical",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "search_results_section": {
        "type": "vertical",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "search_results_header": {
        "type": "horizontal",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "footer_section": {
        "type": "vertical",
        "gap": 16,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "footer_content": {
        "type": "horizontal",
        "gap": 32,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "footer_about": {
        "type": "vertical",
        "gap": 8,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "footer_policies_section": {
        "type": "vertical",
        "gap": 8,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      },
      "footer_contact": {
        "type": "vertical",
        "gap": 8,
        "padding": null,
        "columns": null,
        "column_template": null,
        "row_template": null,
        "align_items": null,
        "justify_content": null,
        "wrap": false,
        "min_height": null,
        "overflow": null
      }
    },
    "layout_zones": [
      {
        "zone_id": "header_zone",
        "component": "header_section",
        "anchor": "top-left",
        "size_hint": "full-width",
        "z_layer": "overlay",
        "notes": "Sticky header with navigation"
      },
      {
        "zone_id": "hero_zone",
        "component": "hero_section",
        "anchor": "center",
        "size_hint": "full-width",
        "z_layer": "base",
        "notes": "Hero banner with search"
      },
      {
        "zone_id": "content_zone",
        "component": "body_content",
        "anchor": "center",
        "size_hint": "full-width",
        "z_layer": "base",
        "notes": "Main content area with catalog sections"
      },
      {
        "zone_id": "footer_zone",
        "component": "footer_section",
        "anchor": "center",
        "size_hint": "full-width",
        "z_layer": "base",
        "notes": "Footer with library info"
      }
    ],
    "responsive_overrides": []
  },
  "navigation_ir": {
    "tabs": [],
    "modals": {},
    "drawers": {},
    "routes": [],
    "breadcrumb": null,
    "default_tab": null
  },
  "realtime_ir": {
    "timers": {},
    "polling": {}
  },
  "metadata": {
    "ir_version": "3.5",
    "generated_at": "",
    "source_prompt": null,
    "schema_session_id": null,
    "warnings": []
  },
  "page_data_contract": null,
  "schema_ir": null
}
