/* * Copyright (c) 2023, Bastiaan van der Plaat <bastiaan.v.d.plaat@gmail.com> * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include <AK/String.h> #include <LibIPC/Forward.h> namespace Web::HTML { struct SelectItem { enum class Type { OptionGroup, Option, Separator, }; Type type; Optional<String> label = {}; Optional<String> value = {}; Optional<Vector<SelectItem>> items = {}; bool selected = false; }; } namespace IPC { template<> ErrorOr<void> encode(Encoder&, Web::HTML::SelectItem const&); template<> ErrorOr<Web::HTML::SelectItem> decode(Decoder&); }